首页 > 编程笔记 > Python笔记 阅读:50

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() 函数时,还有以下几点需要注意:

相关文章