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 版本中进行了修复。