CC++ & Algorithm

Python标准输入 input()

简单9
语言版本:C++Python
概述:学习如何用input()让程序从键盘获取你输入的内容。

和程序对话:学会用 input() 获取键盘输入

我们玩电脑游戏时,常常需要输入自己的名字,或者选择难度。程序是怎么知道你想输入什么内容的呢?答案就是使用 input() 函数。它就像你身边一个会提问的机器人:你说话(打字),它听话(存起来)。

1. input() 是什么?怎么用?

input() 是 Python 内置的一个函数,专门用来从键盘读取你输入的内容。当程序执行到 input() 时,它会停下来,等待你打字。你打完字后按一下回车键,它就把你输入的内容“吞”进去,然后交给程序使用。

最简单的写法:

name = input()   # 等待输入,按回车后把输入内容存到变量name里

但这会有一个问题——程序运行后,屏幕上什么都没有,你就不知道应该输入什么。为了让别人明白该输入什么,通常会在 input() 里面写一句提示语(放在引号里):

name = input("请输入你的名字:")   # 提示语“请输入你的名字:”会先显示

运行后,屏幕上出现“请输入你的名字:”,然后光标闪烁等着你打字。你输入“小明”并回车,name 这个变量的值就变成了 "小明"(注意是文本,不是真实的“小明”两个字)。

2. input() 得到的一定是文本(字符串)

这是新手最容易搞错的地方:哪怕你输入的是数字 123input() 也会把它当成 "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("你几岁?") + 1int() 转换,再计算
提示语里忘记空格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, "分!")

运行结果示例(假设输入:红色52):

你最喜欢的颜色是什么?红色
你有几个好朋友?5
你每天玩多久游戏(小时)?2
你的生活精彩指数是: 12 分!

6. 相关知识点指引

  • 输出:用 print() 把结果显示到屏幕上,和 input() 是一对好搭档。
  • 变量input() 得到的内容要存到变量里,才能反复使用。
  • 类型转换int()float() 能把文本变成数字,str() 能把数字变成文本。
  • 条件判断ifelse 可以让你根据输入做不同的反应(下一级的知识)。

掌握了 input(),你就可以让程序和你互动了!接下来,试着用 print() 把输入的内容加工一下,再显示出来吧。

例题精讲

1单选题

在Python中,使用input()函数从键盘获取输入时,无论用户输入的是什么内容,input()返回的数据类型是?

Aint 类型
Bfloat 类型
Cstr 类型
D由输入内容自动决定类型
2判断题

在Python中,使用input()可以一次接收用户输入的多个值,例如:input()可以同时获取“张三 18 男”三个数据。

3填空题
下面程序的目的是接收用户输入的姓名,然后输出“你好,姓名”。请补充代码。
name = ___("请输入你的名字:")
print("你好," + name)
4单选题

关于input()函数的提示信息,以下说法正确的是?

A提示信息必须写在input()的括号内,否则程序报错
B提示信息可有可无,不影响input()的正常工作
C提示信息只能写英文字符,不能写中文
D提示信息是字符串,不能省略引号
5填空题
以下程序用于计算两个整数的和。请补充代码,使得程序能正确读取用户输入的两个整数并相加。
a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
result = a ___ b
print("两数之和为:", result)