惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
罗磊的独立博客
宝玉的分享
宝玉的分享
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
V2EX
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Tailwind CSS Blog
博客园_首页
量子位
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
人人都是产品经理
人人都是产品经理
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
爱范儿
爱范儿
S
SegmentFault 最新的问题
雷峰网
雷峰网
小众软件
小众软件
博客园 - 聂微东
美团技术团队
Apple Machine Learning Research
Apple Machine Learning Research
WordPress大学
WordPress大学
Jina AI
Jina AI
Hugging Face - Blog
Hugging Face - Blog

博客园_首页

Linux实操--组管理、权限管理和定时任务 Java + EasyExcel 实现单个接口导出多个Excel Mem0 源码解析系列(二):提示词工程的深度剖析 Openclaw TaskFlow究竟是什么?和普通Skill技能有什么区别 博文阅读密码验证 - 博客园 嘉立创开源:应该是全网MicroPython教程最多的开发板 Hermes Agent 集成实践:从协议到生产 2026年AI编程工具横评:Cursor、Codex、Claude Code、Zed、Windsurf Java程序员必看的RAG入门教程 2026 AI效率神器:Superpowers + Claude Code 保姆级教程 本地大模型部署全攻略:从 0 到 1 玩转 Ollama 【从0到1构建一个ClaudeAgent】内存管理-上下文压缩 .NET 高级开发 | 设计、实现一个事件总线框架 电子小白入门之NE555 3. WorkBuddy:隐藏玩法,一键召唤专家,让 AI 以"专家身份"给你干活 和AI一起搞事情#3:Claude Teammate 游戏开发翻车实录 【OpenClaw】通过 Nanobot 源码学习架构---(7)Memory C# .NET 周刊|2026年3月3期 我在 Debian 11 上把 K8s 单机搭起来了,过程没你想的那么顺(/opt 目录版) 深度学习进阶(七)Data-efficient Image Transformer CLI+Skill搭建浏览器AI自动化框架,告别一切重复枯燥任务 告别Token账单无底洞:OpenClaw本地部署,重塑企业数据主权的唯一解 FastAPI+Vue:文件分片上传+秒传+断点续传,这坑我帮你踩平了! SBTI 爆火后,我做了个程序员版的 CBTI。。已开源 + 附开发过程 多模态检索开始进入工程期:用 Sentence Transformers 搭建可落地的 Multimodal RAG 100多行代码实现一个最简单的Agent(用ReAct) Claude Code 通关手册(八):推荐 5 个 Hooks,代码质量提升 3 倍 老板:“有人截图了!”。安全部门:“收到,马上查暗水印!” - why技术 技术之外,皆是人间 C#/.NET/.NET Core技术前沿周刊 | 第 69 期(2026年4.01-4.12)
自学Python第五天:数据输入(input语句)、布尔类型、比较运...
qqzsq · 2026-06-27 · via 博客园_首页

自学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

你可能已经猜到了:**布尔值通常不是自己写出来的,而是通过比较得出来的。

三、比较运算符:程序是怎么判断"对"还是"错"的?

比较运算符的作用是比较两个值,然后返回TrueFalse

运算符 含义 示例 结果
== 等于 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,欢迎在评论区告诉我你今天学到了什么,或者遇到了什么报错,一起交流!

相关文章: