1.5.1. 获取用户输入
要让程序获取用户输入,我们需要:
- 一种方法来接收用户输入
- 一种方法来存储用户输入
我们可以使用变量来存储输入,但如何接收输入呢?
Python 提供了 input()
函数来完成这个任务。
1.5.2. input()
函数
input()
函数用于打印提示信息,并等待用户输入。
来看一个示例:
name = input("What is your name? ")
print("Hello, " + name + "!")
代码解析:
input("What is your name? ")
显示提示信息 "What is your name? "。- Python 解释器在
input()
这一行暂停,等待用户输入内容。 - 用户输入内容并按下 Enter 后,该输入内容会存储到变量
name
中。 print("Hello, " + name + "!")
输出 “Hello, 用户输入的名字!”。
input()
运行示例
当你运行上面的代码时,程序的行为如下:
What is your name? Alice
Hello, Alice!
输入的类型
input() 总是返回一个字符串(str
)。
即使用户输入的是数字,Python 仍然会将其视为字符串:
age = input("Enter your age: ")
print(type(age)) # 输出: <class 'str'>
如果你输入 25,变量 age 仍然是字符串 “25”,而不是整数 25。
1.5.3. 处理数值输入
如果你想让用户输入的数字真正作为整数使用,你需要转换类型。
Python 提供了 int()
函数来将字符串转换为整数:
age = int(input("Enter your age: "))
print("Next year, you will be", age + 1)
代码解析:
input("Enter your age: ")
获取用户输入(仍然是字符串)。int()
将字符串转换为整数。- 变量 age 现在存储的是整数,因此可以进行数学运算。
运行示例:
Enter your age: 25
Next year, you will be 26
避免类型错误
如果用户输入的内容不是数字,int()
会报错。例如:
Enter your age: hello
ValueError: invalid literal for int() with base 10: 'hello'
为了避免错误,你可以使用 try-except
结构进行错误处理:
try:
age = int(input("Enter your age: "))
print("Next year, you will be", age + 1)
except ValueError:
print("Please enter a valid number.")
1.5.4. 函数组合(Function Composition)
在 age = int(input("Enter your age: "))
这行代码中,我们同时使用了 input()
和 int()
,这就是函数组合的例子。
代码执行顺序
当执行age = int(input("Enter your age: "))
时:
input("Enter your age: ")
先运行,显示提示信息并等待用户输入。- 用户输入 22 并按下 Enter,
input()
返回字符串 “22”。 int("22")
将其转换为整数 22。- 22 被存储在变量
age
中。
理解函数组合的关键是:从内向外解析代码。
1.5.5. 总结
input()
获取用户输入,返回 字符串。int()
将字符串转换为 整数,以便进行数学运算。- 函数组合(Function Composition)是编程中的重要概念,执行顺序为从内到外。
- 处理用户输入时,应考虑类型转换和错误处理。