input()输入命令

input() 是 Python 中最常用的输入函数,用于从用户获取键盘输入。在程序中使用 input() 可以让程序与用户互动,根据用户的输入执行不同的操作。

基本语法

input 函数的基本语法如下:

input([prompt])
  • prompt: 可选参数,在等待输入时显示的提示信息
  • 返回值: 用户输入的内容,总是以字符串形式返回

基本用法

1. 简单输入

name = input("请输入你的名字: ")
print("你好,", name)

2. 输入数字并进行计算

num1 = input("请输入第一个数字: ")
num2 = input("请输入第二个数字: ")
print("和为:", float(num1) + float(num2))
重要提示

input() 函数返回的值总是字符串类型!如果要进行数学计算,需要先将输入转换为数字类型:

  • int() - 转换为整数
  • float() - 转换为浮点数

3. 同时输入多个值

inputs = input("请输入姓名和年龄(用空格分隔): ").split()
print("姓名:", inputs[0], "年龄:", inputs[1])

4. 输入密码(不回显)

Python 标准库中没有直接隐藏密码输入的方法,但可以使用 getpass 模块:

import getpass

password = getpass.getpass("请输入密码: ")
print("密码已接收!")

输入验证

在实际应用中,需要对用户输入进行验证,确保输入符合要求:

while True:
  age = input("请输入你的年龄: ")
  if age.isdigit():
    age = int(age)
    if age > 0 and age < 120:
      break
    else:
      print("年龄必须在0到120之间!")
  else:
    print("请输入有效的数字!")

input() 相关函数和方法

函数/方法 描述 示例
input() 获取用户输入 name = input("请输入姓名")
int() 将字符串转换为整数 num = int(input("输入数字"))
float() 将字符串转换为浮点数 price = float(input("输入价格"))
eval() 执行字符串表达式(谨慎使用) result = eval(input("输入表达式"))
.strip() 去除输入字符串两端的空格 input().strip()
.split() 分割输入字符串 values = input().split()
安全提示

避免使用 eval() 函数处理用户输入!

eval() 可以执行任何Python代码,如果用户输入恶意代码,可能对系统造成危害。在实际应用中,应使用更安全的方法处理输入。

实战练习

练习1:个人信息录入

编写一个程序,要求用户输入姓名、年龄和学校,然后输出完整的自我介绍:

请输入你的姓名: 小明
请输入你的年龄: 10
请输入你的学校: 希望小学
输出:
大家好!我叫小明,今年10岁,在希望小学上学。
练习2:数学计算器

创建一个简单的计算器程序:

请输入第一个数字: 8
请输入运算符(+, -, *, /): *
请输入第二个数字: 7.5
输出:
8 * 7.5 = 60.0
练习3:成绩转换器

编写一个程序将百分制成绩转换为等级:

90及以上: A
80-89: B
70-79: C
60-69: D
60以下: E

要求:输入分数,输出对应等级

常见问题

  • Q: 为什么我的数字输入不能进行计算?
    A: input() 返回的是字符串类型,需要使用 int() 或 float() 转换为数值类型。
  • Q: 如何让用户输入多行文本?
    A: 可以使用循环多次调用 input(),或使用特殊结束符。
  • Q: 如何防止用户输入错误导致程序崩溃?
    A: 使用 try-except 语句捕获异常:
    try: age = int(input("输入年龄"))
    except: print("请输入数字")
  • Q: 如何隐藏密码输入?
    A: 使用 getpass 模块中的 getpass 函数。