当前位置: 首页 > news >正文

input输入、布尔类型、比较运算符和逻辑运算符——我终于让程序能和我对话了

如果你还记得第三篇的内容,有一行代码是这样的:

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 == 5True
!=不等于5 != 3True
>大于5 > 3True
<小于5 < 3False
>=大于等于5 >= 5True
<=小于等于5 <= 3False
注意:= 是赋值,== 是比较。新手最容易把 == 写成 =,这个坑我第三篇也踩过。

四、逻辑运算符:把多个条件组合起来

有时候一个条件不够,需要多个条件同时满足,这个时候就需要逻辑运算符。

运算符含义示例结果
and两个都真才真True and FalseFalse
or有一个真就真True or FalseTrue
not取反not TrueFalse

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 和 Falseis_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,以及它们的嵌套。到时候你会发现,今天学的东西全都会用上。

http://www.jsqmd.com/news/1139309/

相关文章:

  • Java性能调优实战:如何让应用响应时间降低50%
  • 《深入理解计算机系统》计算机系统漫游
  • 【办公效率提升工具】 OpenClaw 2.7.9 本地自动化指令实操手册(含安装包)
  • 20个STM32实战例程:从零到精通机器人嵌入式开发的终极指南
  • LTC6904与PIC18LF46K22协同设计实现高精度方波脉冲生成
  • 基于大数据的农业环境管理平台的设计与实现毕业设计任务书
  • 教育创业转型,开办AI智习室优选品牌
  • 时序轨迹张量补全机制,攻克视频孪生目标遮挡断链行业共性难题
  • Maya集成Seedance 2.0:AI辅助三维动画渲染全流程解析
  • 自媒体运营分析 - 数据清洗与预处理实验
  • 对话即部署:用DeepSeek+Skills+MCP构建可编程知识库
  • 装机不一定贵,但要看这几点
  • Faster R-CNN PyTorch 1.12.1 环境配置:Windows/Linux 双平台 3 大依赖冲突解决
  • Bug 故事:两个 DAC 通道并联,我改了 5 个地方才修好(改了5个地方才修好)
  • 《动手学深度学习》PyTorch 版 vs MXNet 原版:5 大核心章节代码对比分析
  • 玩转控件:封装个带图片的Label控件
  • ARP(地址解析协议)与NDP(邻居发现协议)
  • Unity手游逆向:Assembly-CSharp.dll加密识别与内存转储实战指南
  • LLM嵌入运动规划内核:语义约束自动转数学表达
  • 计算机毕业设计之jsp汽车养护网站的设计与实现
  • 2026企业级Agent产品推荐,三大选型标准与5款客服Agent横评
  • 从花屏到丢帧:视频设备晶振选型 6 大致命误区,90% 研发都踩过
  • 【从零构建分布式在线评测系统】二、Judge0服务器上的心跳程序
  • OPA191 非反相放大器 PCB 布局:3 项关键优化将噪声降低 20dB(附对比图)
  • Windows Server 2008 R2 IIS 低权限 WebShell 提权实战
  • ArcGIS Pro 3.6.3学习版安装全解析:环境、许可与排错
  • Vue导航守卫学习
  • 煤炭井下通信链路隐患排查,GN-W10A 测试设备适配矿山复杂网络环境
  • 为什么说Notepad--是你跨平台文本编辑的最佳选择?
  • 如何创建openEuler新语言翻译团队?完整申请与审批流程指南