Python input()函数详解(附带实例)
Python 语言中的 input() 函数用于从标准输入(通常是键盘)获取用户输入,常用于动态获取信息,比如询问用户名、计算输入的数字等。
input() 函数会暂停程序的执行,等待用户键入内容并按下回车键,然后将输入的内容作为字符串返回。
无论用户输入的是数字、字母还是符号,input() 的返回值始终是 str 类型。它允许程序从用户那里读取输入数据,通常以字符串的形式返回。
Python input()函数用法
input() 函数的语法格式如下:
input([prompt])
[prompt] 参数表示可选的字符串,显示在输入光标前的提示信息。如果不提供,则没有提示。
举个最简单的例子:
text = input() print(text)
为了让用户明白需要输入什么,通常会在 input() 中加入一个提示信息(prompt):
name = input("请输入你的名字:") print(f"你好,{name}!")
input() 函数的返回值是用户输入的字符串。例如:
# 无提示 data = input() # 直接等待输入 print(data) # 有提示 age = input("请输入你的年龄:") print(f"你输入的年龄是 {age}")
运行时,程序会在提示后停下来,等待用户输入并按回车。例如,输入 "Bob" 或 "20" 后,程序会继续执行并输出结果。
由于 input() 返回的总是字符串,如果需要其他类型的数据(比如整数或浮点数),必须手动进行类型转换:
1) 如果希望用户输入整数,可以用 int() 函数转换:
num = int(input("请输入一个整数:")) print(num + 1) # 可以进行数学运算
但如果用户输入非整数值(比如 "abc"),会抛出 ValueError
异常。
2) 如果希望用户输入小数,可以用 float() 函数转换:
weight = float(input("请输入你的体重(公斤):")) print(f"你的体重是 {weight} 公斤")
同样,输入非法值会导致错误。
3) 如果是文本输入,无需转换,直接使用即可:
hobby = input("请输入你的爱好:") print(f"你的爱好是 {hobby}")
Python input()函数使用注意事项
1) 去除多余空格
用户输入时可能会不小心多打空格,可以用 strip()
方法去除首尾的空白字符:
name = input("请输入你的名字:").strip() print(f"你好,{name}!")
例如,输入 " Alice " 会变成 "Alice"。
2) 处理异常
当需要数字输入时,用户可能输入非法字符。可以用 try-except
捕获异常:
try: age = int(input("请输入你的年龄:")) print(f"明年你将 {age + 1} 岁") except ValueError: print("错误:请输入一个整数!")运行上述代码,输出结果:
请输入你的年龄:xyz 错误:请输入一个整数!
3) 处理一行多值输入
如果用户在一行输入多个值(比如用空格或逗号分隔),可以用 split()
方法分割字符串:
scores = input("请输入两个成绩,用空格分隔:").split() a, b = float(scores[0]), float(scores[1]) print(f"平均分是 {(a + b) / 2}")
运行上述代码,并输出结果:
请输入两个成绩,用空格分隔:85.5 90 平均分是 87.75
4) 接受多行输入
input() 每次只读取一行。如果需要多行输入,可以用循环:
print("请输入三行文本:") lines = [] for i in range(3): line = input(f"第 {i+1} 行:") lines.append(line) print("你输入的内容是:") for line in lines: print(line)
运行上述代码,并输出结果:
请输入三行文本: 第 1 行:red 第 2 行:blue 第 3 行:green 你输入的内容是: red blue green
5) 返回值特性
input() 返回的字符串不包含末尾的换行符(\n)。用户按回车后,换行符被自动移除。例如:
text = input("请输入一些文字:") print(f"你输入了 {len(text)} 个字符")
输入 "hello" 时,长度是 5,而不是 6。
总结
在使用 Python 中的 input() 函数时,还有以下几点需要注意:- 默认返回字符串:返回值为字符串,必要时进行转换;
- 异常处理:在需要特定类型输入时,建议加入异常处理,避免程序崩溃;
- 与 Python 2 的区别:Python 2.x 版本的 input() 会尝试执行输入的内容(不安全),这一点在 Python 3.x 版本中进行了修复。