自学Python第五天:数据输入(input语句)、布尔类型、比较运算符和逻辑运算符
自学Python第5天:input输入、布尔类型、比较运算符和逻辑运算符——我终于让程序能和我对话了
新手向 | 2026-06-27
如果你还记得第三篇的内容,有一行代码是这样的:
age = int(input("请输入你的年龄:"))
当时我说input()拿到的内容是字符串,要用int()转换才能当数字用。但我没有仔细讲input()到底是什么,也没讲为什么需要转换。
今天就来补上这一课,顺便把布尔类型、比较运算符和逻辑运算符一起搞定。
一、input():程序是怎么“听”到你说话的?
input()是Python里最基础的输入函数,它的作用是暂停程序,等待用户在键盘上输入内容,按回车后把输入的内容作为字符串返回。
先看一个简单的例子:
name = input("请输入你的名字:")
print("你好," + name)
运行后:
请输入你的名字:张三
你好,张三
程序会先打印"请输入你的名字:",然后停在那里等你输入。你输入"张三"并按下回车后,name就会被赋值为张三,然后程序继续往下走,打印"你好,张三".
关键点:input()永远返回字符串。
不管你输入的是数字、字母还是汉字,input()拿到的都是一个字符串。这就是为什么第三篇里需要用int(input())来转换。
二、布尔类型:为什么程序里只有"真"和"假"?
布尔类型(bool)是 Python 里最简单的一种数据类型——它只有两个值:True 和 False。
True 表示“真”“成立”“正确”,False 表示“假”“不成立”“错误”。
举个例子:
is_student = True
is_teacher = False
print(is_student) # True
print(is_teacher) # False
你可能已经猜到了:**布尔值通常不是自己写出来的,而是通过比较得出来的。
三、比较运算符:程序是怎么判断"对"还是"错"的?
比较运算符的作用是比较两个值,然后返回True或False。
| 运算符 | 含义 | 示例 | 结果 |
|---|---|---|---|
| == | 等于 | 5 == 5 | True |
| != | 不等于 | 5 != 3 | True |
| > | 大于 | 5 > 3 | True |
| < | 小于 | 5 < 3 | False |
| >= | 大于等于 | 5 >= 5 | True |
| <= | 小于等于 | 5 <= 3 | False |
| 注意:= 是赋值,== 是比较。新手最容易把 == 写成 =,这个坑我第三篇也踩过。 |
四、逻辑运算符:把多个条件组合起来
有时候一个条件不够,需要多个条件同时满足,这个时候就需要逻辑运算符。
| 运算符 | 含义 | 示例 | 结果 |
|---|---|---|---|
| and | 两个都真才真 | True and False | False |
| or | 有一个真就真 | True or False | True |
| not | 取反 | not True | False |
and:两真才真
age = 20
print(age >= 18 and age <= 60) # True
在这个例子里,age >= 18是True,age <= 60也是True,两个都真,所以结果是True。
or:一真即真
score = 85
print(score < 60 or score > 80) # True
score < 60 是 False(85不小于60),但 score > 80 是 True(85大于80),有一个真,所以结果是 True。
not:颠倒黑白
is_sleeping = True
print(not is_sleeping) # False
not把True变成了False,把False变成了True。
五、一个我踩过的坑:input()和布尔值一起用的时候
第三篇我提到过input()返回的是字符串,但我当时没意识到这个坑在布尔判断里特别隐蔽。
举个例子:
age = input("请输入你的年龄:")
if age >= 18:
print("成年了")
你输入20,运行后:
TypeError: '>=' not supported between instances of 'str' and 'int'
报错了,因为age是字符串"20",字符串不能和整数18做比较。
解决方法:把字符串转成整数:
age = int(input("请输入你的年龄:"))
if age >= 18:
print("成年了")
这个坑我踩过之后,养成了一个习惯:只要用 input() 拿数字,就立刻用 int() 包住它。
六、综合示例:体温检测程序
把今天学的东西串起来写一个体温检测的小程序:
def check_temperature():
print("欢迎来到辽宁!请出示您的健康码以及72小时核酸证明,并配合测量体温。")
temp_str = input("请测量并输入您的体温:")
temp = float(temp_str)
if temp <= 37.5:
print(f"体温测量中,您的体温是:{temp}度,体温正常请进!")
else:
print(f"体温测量中,您的体温是:{temp}度,需要隔离!")
check_temperature()
运行结果输入37.3:
欢迎来到辽宁!请出示您的健康码以及72小时核酸证明,并配合测量体温。
请测量并输入您的体温:37.3
体温测量中,您的体温是:37.3度,体温正常请进!
这段代码包含了:
·input()数据输入
·float()类型转换(体温可能会有小数)
·if-else条件判断
·比较运算符( <= )
·f-string格式化输出
七、一个需要注意的地方:什么时候用int(),什么时候用float()
int()转换整数,float()转换浮点数(带小数的数)
·年龄:用int(input())
·体温、身高、体重……:用float(input())
·分数、价格:用 float(input())
注意:"37.3",你用 int() 会报错。这时候要用 float()。
比如:
# 正确写法(支持小数)
temp = float(input("请输入体温:"))
如果用户输入 "37.3",用 int() 会直接报错。所以只要体温可能带小数,就用 float()。
小结
今天学的东西,整理成一张速查表:
| 知识点 | 说明 | 示例 |
|---|---|---|
| input() | 从用户获取输入,返回字符串 | name = input("输入名字:") |
| int(input()) | 获取整数输入 | age = int(input("年龄:")) |
| float(input()) | 获取浮点数输入 | temp = float(input("体温:")) |
| 布尔类型 | 只有两个值:True 和 False | is_adult = True |
| 比较运算符 | 比较两个值,返回布尔值 | age >= 18 |
| and | 两个都真才真 | age >= 18 and age <= 60 |
| or | 有一个真就真 | score < 60 or score > 80 |
| not | 取反 | not is_sleeping |
有了今天的 input() 和比较运算,下一章就可以开始写真正的“判断逻辑”了——if 语句、if-else、if-elif-else,以及它们的嵌套。到时候你会发现,今天学的东西全都会用上。
如果你也在学Python,欢迎在评论区告诉我你今天学到了什么,或者遇到了什么报错,一起交流!
相关文章:

浙公网安备 33010602011771号