Python标准输入 input()
简单9和程序对话:学会用 input() 获取键盘输入
我们玩电脑游戏时,常常需要输入自己的名字,或者选择难度。程序是怎么知道你想输入什么内容的呢?答案就是使用 input() 函数。它就像你身边一个会提问的机器人:你说话(打字),它听话(存起来)。
1. input() 是什么?怎么用?
input() 是 Python 内置的一个函数,专门用来从键盘读取你输入的内容。当程序执行到 input() 时,它会停下来,等待你打字。你打完字后按一下回车键,它就把你输入的内容“吞”进去,然后交给程序使用。
最简单的写法:
name = input() # 等待输入,按回车后把输入内容存到变量name里
但这会有一个问题——程序运行后,屏幕上什么都没有,你就不知道应该输入什么。为了让别人明白该输入什么,通常会在 input() 里面写一句提示语(放在引号里):
name = input("请输入你的名字:") # 提示语“请输入你的名字:”会先显示
运行后,屏幕上出现“请输入你的名字:”,然后光标闪烁等着你打字。你输入“小明”并回车,name 这个变量的值就变成了 "小明"(注意是文本,不是真实的“小明”两个字)。
2. input() 得到的一定是文本(字符串)
这是新手最容易搞错的地方:哪怕你输入的是数字 123,input() 也会把它当成 "123" 这个文本。如果你想要做数学运算(比如加减法),就必须用 int() 或 float() 把它转换成数字。
例子:问年龄并计算明年几岁
age_text = input("你几岁了?") # 输入年龄,得到的是字符串,比如 "8"
age = int(age_text) # 用int()把字符串"8"变成整数8
print("明年你就", age + 1, "岁啦!") # 输出:明年你就 9 岁啦!
如果忘记转换,直接 print(age_text + 1) 就会报错,因为字符串不能和数字相加。
另一个例子:算零花钱总数
pocket_money = input("你每周有多少零花钱?") # 输入:"20"
bonus = input("这次考试妈妈奖励你多少钱?") # 输入:"5"
total = int(pocket_money) + int(bonus) # 先转换再相加
print("你一共有", total, "元") # 输出:你一共有 25 元
3. 生活中的更多例子
-
问最喜欢的零食
snack = input("你最喜欢吃什么零食?") # 输入:"薯片" print(snack + "很好吃,我也喜欢!") # 输出:薯片很好吃,我也喜欢! -
问考试成绩
score_text = input("这次数学考了多少分?") # 输入:"95" score = int(score_text) # 转成整数 if score >= 90: print("太棒了,你是个小学霸!") -
问排队时前面有几个人
people_ahead = input("你前面还有几个人?") # 输入:"3" wait_time = int(people_ahead) * 5 # 假设每人需要5分钟 print("那你大概要等", wait_time, "分钟哦")
4. 新手常犯的错误
| 错误 | 错误代码举例 | 正确做法 |
|---|---|---|
| 忘记加引号写提示语 | input(请输入你的名字) | input("请输入你的名字") |
| 直接对输入做数学运算 | age = input("你几岁?") + 1 | 先 int() 转换,再计算 |
| 提示语里忘记空格 | input("你几岁?")(输入时容易紧贴问号) | 推荐加空格:input("你几岁? ") |
以为input()能一次读多行 | 连续输入多行,只读取第一行 | 多行输入需要循环,后续学习 |
特别注意: 如果输入的是小数(比如身高 120.5),要用 float() 而不是 int():
height_text = input("请输入你的身高(厘米):") # 输入:"120.5"
height = float(height_text) # 转成小数 120.5
print("你的身高是", height, "厘米")
5. 完整示例:一个互动小问答
下面这个程序会问你三个问题,然后根据你的回答算出一个总分(假设每题10分)。
# 第一个问题:你最喜欢的颜色
color = input("你最喜欢的颜色是什么?") # 输入颜色,不需要转换
# 第二个问题:你有几个好朋友?
friends_text = input("你有几个好朋友?") # 输入数字字符串
friends = int(friends_text) # 转成整数
# 第三个问题:你每天玩多久游戏(小时)?
play_text = input("你每天玩多久游戏(小时)?") # 输入小数
play = float(play_text) # 转成小数
# 计算总分(纯属娱乐,没关系)
score = len(color) + friends + int(play * 10)
print("你的生活精彩指数是:", score, "分!")
运行结果示例(假设输入:红色,5,2):
你最喜欢的颜色是什么?红色
你有几个好朋友?5
你每天玩多久游戏(小时)?2
你的生活精彩指数是: 12 分!
6. 相关知识点指引
- 输出:用
print()把结果显示到屏幕上,和input()是一对好搭档。 - 变量:
input()得到的内容要存到变量里,才能反复使用。 - 类型转换:
int()和float()能把文本变成数字,str()能把数字变成文本。 - 条件判断:
if和else可以让你根据输入做不同的反应(下一级的知识)。
掌握了 input(),你就可以让程序和你互动了!接下来,试着用 print() 把输入的内容加工一下,再显示出来吧。
例题精讲
在Python中,使用input()函数从键盘获取输入时,无论用户输入的是什么内容,input()返回的数据类型是?
在Python中,使用input()可以一次接收用户输入的多个值,例如:input()可以同时获取“张三 18 男”三个数据。
下面程序的目的是接收用户输入的姓名,然后输出“你好,姓名”。请补充代码。
name = ___("请输入你的名字:")
print("你好," + name)关于input()函数的提示信息,以下说法正确的是?
以下程序用于计算两个整数的和。请补充代码,使得程序能正确读取用户输入的两个整数并相加。
a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
result = a ___ b
print("两数之和为:", result)