6.比较运算符与条件判断

6.比较运算符与条件判断

欢迎回到《10天学会Python》系列!昨天我们学习了算术运算符,掌握了Python的“数学工具包”。今天,我们将进入编程中最有趣的部分——让程序“思考”和“做决定”!通过学习比较运算符与条件判断,你将教会计算机如何根据条件做出选择,就像教它区分“对与错”、“好与坏”一样。

核心概念:程序的“判断力”

编程不仅仅是计算数字,更重要的是根据不同的情况做出不同的反应。比如:

  • 如果用户年龄≥18岁,显示“欢迎进入”
  • 如果考试成绩≥60分,显示“及格”
  • 如果用户名正确且密码正确,显示“登录成功”

这些“如果...就...”的逻辑,就是通过比较运算符条件语句实现的。

比较运算符:判断对错的“标尺”

比较运算符用于比较两个值的大小或相等性,结果始终是 True(真)或 False(假)。这就像判断题,答案只有“对”或“错”。

Python提供了6种比较运算符:

表格复制

运算符 含义 示例 结果
> 大于 5 > 3 True
< 小于 5 < 3 False
== 等于 5 == 5 True
!= 不等于 5 != 3 True
>= 大于等于 5 >= 5 True
<= 小于等于 5 <= 3 False

重要提醒

  • 一个等号 = 是赋值age = 18(把18存到age变量中)
  • 两个等号 == 是比较age == 18(判断age是否等于18)
  • 布尔值 TrueFalse 首字母必须大写

详细代码示例:生活中的“判断题”

示例1:年龄验证(基本比较)

# 判断是否成年
age = 20
is_adult = age >= 18

print(f"年龄:{age}岁")
print(f"是否成年:{is_adult}")

# 更友好的输出
if is_adult:
    print("欢迎进入!")
else:
    print("抱歉,未满18岁不能进入。")

示例2:成绩等级判断(多重比较)

# 判断成绩等级
score = 85

is_pass = score >= 60  # 是否及格
is_excellent = score >= 90  # 是否优秀
is_fail = score < 60  # 是否不及格

print(f"成绩:{score}分")
print(f"是否及格:{is_pass}")
print(f"是否优秀:{is_excellent}")
print(f"是否不及格:{is_fail}")

示例3:登录验证(字符串比较)

# 简单的用户名检查
username = "admin"
input_username = "user123"

is_correct_username = username == input_username

print(f"预设用户名:{username}")
print(f"输入的用户名:{input_username}")
print(f"用户名是否正确:{is_correct_username}")

示例4:数值范围判断(组合比较)

# 判断温度是否在舒适范围内
temperature = 22
comfort_min = 18
comfort_max = 26

is_comfortable = temperature >= comfort_min and temperature <= comfort_max

print(f"当前温度:{temperature}℃")
print(f"舒适范围:{comfort_min}℃ ~ {comfort_max}℃")
print(f"是否舒适:{is_comfortable}")

逻辑运算符:组合多个条件的“粘合剂”

有时候,我们需要同时满足多个条件,或者满足其中一个条件。这时就需要逻辑运算符来组合多个比较结果。

Python有三种逻辑运算符:

表格复制

运算符 含义 真值表(假设A和B是两个条件)
and 与(且) A和B都为True时,结果为True
or A或B至少一个为True时,结果为True
not 取反,True变False,False变True

真值表详解

为了更好地理解逻辑运算符,我们来看一个完整的真值表:

表格复制

A B A and B A or B not A
True True True True False
True False False True False
False True False True True
False False False False True

示例5:复杂条件判断

# 电影票购买条件:年龄≥13岁 且 有票 或 有会员卡
age = 15
has_ticket = True
has_member_card = False

# 条件1:年龄≥13岁
condition1 = age >= 13
# 条件2:有票
condition2 = has_ticket
# 条件3:有会员卡
condition3 = has_member_card

# 组合条件:(年龄≥13岁 且 有票) 或 有会员卡
can_enter = (condition1 and condition2) or condition3

print(f"年龄:{age}岁,符合年龄要求:{condition1}")
print(f"有票:{has_ticket}")
print(f"有会员卡:{has_member_card}")
print(f"可以进入电影院:{can_enter}")

示例6:登录系统(用户名和密码双重验证)

# 预设的登录信息
correct_username = "python_learner"
correct_password = "123456"

# 用户输入
input_username = "python_learner"
input_password = "123456"

# 检查用户名和密码
username_ok = input_username == correct_username
password_ok = input_password == correct_password

# 使用and运算符:必须两者都正确
login_success = username_ok and password_ok

print(f"用户名检查:{username_ok}")
print(f"密码检查:{password_ok}")
print(f"登录成功:{login_success}")

if login_success:
    print("🎉 欢迎回来,学习愉快!")
else:
    print("❌ 用户名或密码错误,请重试。")

if条件语句:让程序“做选择”

有了比较和逻辑运算符,我们可以判断条件是否成立。但要真正让程序根据条件执行不同的代码,就需要 if条件语句

if语句的基本结构

if 条件:
    # 条件为True时执行的代码
    print("条件成立!")
else:
    # 条件为False时执行的代码
    print("条件不成立。")

示例7:简单的if-else语句

# 判断数字正负
number = -5

if number > 0:
    print(f"{number}是正数")
elif number < 0:
    print(f"{number}是负数")
else:
    print("这个数是0")

示例8:成绩评级系统(if-elif-else链)

# 根据分数给出等级
score = 85

if score >= 90:
    grade = "A"
    comment = "优秀!继续保持!"
elif score >= 80:
    grade = "B"
    comment = "良好,有很大进步空间!"
elif score >= 70:
    grade = "C"
    comment = "中等,再加把劲!"
elif score >= 60:
    grade = "D"
    comment = "及格,需要更多努力!"
else:
    grade = "F"
    comment = "不及格,建议重新学习!"

print(f"分数:{score}")
print(f"等级:{grade}")
print(f"评语:{comment}")

示例9:嵌套if语句

# 游戏角色购买系统:需要足够的金币和达到相应等级
player_level = 25
player_coins = 1500
character_price = 1200
required_level = 20

if player_coins >= character_price:
    if player_level >= required_level:
        print("✅ 购买成功!角色已解锁。")
        player_coins -= character_price
        print(f"剩余金币:{player_coins}")
    else:
        print(f"❌ 等级不足,需要{required_level}级,当前{player_level}级")
else:
    print(f"❌ 金币不足,需要{character_price}金币,当前{player_coins}金币")

实践应用:简易智能问答系统

现在,让我们综合运用今天学到的知识,创建一个有趣的简易智能问答系统。这个系统会根据用户的回答给出不同的反馈,模拟简单的对话。

项目需求

创建一个程序,实现以下功能:

  1. 询问用户年龄,判断是否为成年人
  2. 询问用户是否喜欢编程
  3. 根据回答给出个性化的建议

完整代码实现

# 简易智能问答系统
print("🤖 欢迎来到智能问答系统!")
print("我将问你几个问题,然后给你一些建议。")
print("-" * 40)

# 问题1:年龄
age_input = input("首先,请问你的年龄是多少? ")
age = int(age_input)  # 将输入转换为整数

# 问题2:是否喜欢编程
like_programming_input = input("你喜欢编程吗?(请输入 是/否) ")

# 处理第二个问题的回答
like_programming = False
if like_programming_input == "是" or like_programming_input == "yes" or like_programming_input == "y":
    like_programming = True

print("\n" + "=" * 40)
print("分析结果:")
print("=" * 40)

# 根据年龄给出建议
if age < 13:
    print("👶 你还在上小学吧?学习编程可以从简单的游戏开始!")
elif age < 18:
    print("🎒 中学生阶段是学习编程的黄金时期!")
    print("   推荐学习:Python基础、简单的网页制作")
elif age < 25:
    print("🎓 大学生或刚工作的年纪,编程是重要技能!")
    print("   推荐学习:数据分析、Web开发、人工智能基础")
elif age < 40:
    print("💼 职场人士学习编程可以提升工作效率!")
    print("   推荐学习:办公自动化、数据分析、爬虫技术")
else:
    print("🌟 任何时候开始学习都不晚!编程能锻炼思维,预防衰老!")
    print("   推荐学习:简单的自动化脚本、数据处理")

print()

# 根据是否喜欢编程给出建议
if like_programming:
    print("🎉 太好了!你喜欢编程!")
    print("   学习建议:坚持每天练习,参与开源项目,多写代码")
  
    # 组合条件:年轻人且喜欢编程
    if age < 25 and like_programming:
        print("   💡 你很有潜力成为优秀的程序员!")
else:
    print("😊 没关系,编程不一定适合所有人。")
    print("   建议:可以先尝试简单的编程游戏或可视化编程工具")
    print("   比如:Scratch、Code.org上的教程")

print()

# 综合建议
print("📚 综合学习建议:")
if age >= 18 and like_programming:
    print("   1. 制定系统的学习计划(如这个10天系列)")
    print("   2. 每天至少练习1小时")
    print("   3. 尝试解决实际问题,而不是只看理论")
    print("   4. 加入编程社区,和其他学习者交流")
elif age < 18 and like_programming:
    print("   1. 平衡好学校课程和编程学习")
    print("   2. 参加编程竞赛或兴趣班")
    print("   3. 从有趣的项目开始,比如制作小游戏")
else:
    print("   1. 可以先从了解编程是什么开始")
    print("   2. 尝试简单的编程体验,不要有压力")
    print("   3. 培养逻辑思维,对学习其他科目也有帮助")

print("\n" + "=" * 40)
print("问答结束,感谢参与!")
print("记住:学习编程最重要的是兴趣和坚持!")

代码解析

  1. 输入处理:使用 input() 获取用户输入,int() 转换为数字类型
  2. 条件判断:多个 if-elif-else 语句根据不同的年龄和兴趣给出建议
  3. 逻辑运算and 运算符组合多个条件(如 age < 25 and like_programming
  4. 字符串比较:判断用户是否喜欢编程时,接受多种回答("是"、"yes"、"y")
  5. 格式化输出:使用分隔线 "=" * 40 美化输出界面

扩展建议

  • 添加更多问题,如学习目标、可用时间等
  • 将建议保存到文件,供用户后续查看
  • 添加简单的对话记忆功能
  • 根据用户的历史回答调整建议

练习题

练习1:基础判断题

编写Python代码,判断以下条件是否成立,并输出 TrueFalse

  1. 10 > 5 and 3 < 4
  2. 7 == 7 or 8 != 8
  3. not (5 >= 10)
  4. (20 % 3 == 2) and (15 // 4 == 3)
  5. "hello" == "Hello" or 100 <= 99

要求:先手动判断,再编写代码验证你的答案。

练习2:生活场景应用

  1. 交通信号灯模拟:编写程序,根据用户输入的颜色(红/黄/绿),输出相应的行动指令(停/等/行)。
  2. 体质指数(BMI)判断:根据用户输入的身高(米)和体重(公斤),计算BMI值并判断体型:
    • BMI < 18.5:偏瘦
    • 18.5 ≤ BMI < 24:正常
    • 24 ≤ BMI < 28:超重
    • BMI ≥ 28:肥胖
  3. 闰年判断:输入一个年份,判断是否为闰年。闰年规则:
    • 能被4整除但不能被100整除,或者
    • 能被400整除

练习3:代码找错

找出下面代码中的错误并修复:

# 错误代码1
age = input("请输入年龄:")
if age > 18:
    print("成年人")
else:
    print("未成年人")

# 错误代码2
score = 85
if score >= 60 and score < 70:
    print("及格")
elif score >= 70 and score < 85
    print("良好")
else:
    print("优秀")

# 错误代码3
username = "admin"
password = "123456"
if username = "admin" and password == "123456":
    print("登录成功")

练习4:综合挑战

创建一个简易计算器,要求:

  1. 支持加、减、乘、除四种运算
  2. 用户输入两个数字和运算符
  3. 程序根据运算符执行相应计算
  4. 增加错误处理:
    • 除数为0时提示错误
    • 无效运算符时提示错误
    • 输入非数字时提示错误

练习5:创意编程

设计一个个性化学习路线推荐系统

  1. 询问用户的学习目标(Web开发/数据分析/人工智能/其他)
  2. 询问用户的每日学习时间(<1小时/1-2小时/>2小时)
  3. 询问用户的编程基础(零基础/有一点基础/有经验)
  4. 根据回答推荐具体的学习路径、资源和时间安排

总结

今天,我们迈出了编程思维的重要一步——让程序具备“判断力”!通过今天的学习,你掌握了:

1. 6种比较运算符:>、<、==、!=、>=、<=

  • 用于比较两个值的大小或相等性
  • 结果始终是 TrueFalse

2. 3种逻辑运算符:and、or、not

  • and:两个条件都成立时结果为真
  • or:至少一个条件成立时结果为真
  • not:取反操作

3. if条件语句:程序的分支控制

  • if:条件成立时执行
  • elif:上一个条件不成立时检查新条件
  • else:所有条件都不成立时执行

4. 实践应用:简易智能问答系统

  • 综合运用比较、逻辑和条件语句
  • 处理用户输入,给出个性化建议
  • 创建交互式程序

5. 编程思维的提升

  • 从“顺序执行”到“条件执行”的跨越
  • 学会将复杂问题分解为多个判断条件
  • 理解程序的“智能”来自于清晰的逻辑设计

关键要点回顾

  1. 比较 vs 赋值== 是比较,= 是赋值,这是初学者最容易混淆的地方
  2. 布尔值TrueFalse 首字母必须大写,它们是Python的关键字
  3. 缩进的重要性:if语句后的代码块必须缩进(通常4个空格),这是Python的语法要求
  4. 运算符优先级:比较运算符优先级高于逻辑运算符,但使用括号能让代码更清晰
  5. 用户体验:良好的程序不仅要逻辑正确,还要有友好的交互和错误处理

明日预告

明天,我们将学习循环语句,让程序能够“重复执行”任务。你将掌握:

  • for 循环:遍历序列中的每个元素
  • while 循环:在条件满足时重复执行
  • 循环控制:breakcontinue 的使用

通过循环,你可以让计算机处理大量重复性工作,比如批量处理数据、自动生成内容等。这将是效率提升的关键一步!


学习建议

  1. 多实践:条件判断的关键在于理解逻辑,多做练习题加深理解
  2. 画流程图:对于复杂的条件逻辑,先画流程图可以帮助理清思路
  3. 逐步调试:使用 print() 输出中间结果,观察程序的实际执行过程
  4. 阅读优秀代码:查看开源项目中的条件判断写法,学习最佳实践
  5. 保持耐心:逻辑思维需要时间培养,遇到困难时先分解问题

记住:编程不仅是技术,更是解决问题的艺术。今天学到的判断逻辑,在生活中也同样有用——分析问题、考虑条件、做出决策。培养这种思维,你将受益终身!

现在,打开你的编辑器,开始练习吧!每完成一个练习题,你就离“编程思维”更近一步。加油!

5.算术运算符与表达式 2026-01-21
7.条件语句(if-elif-else) 2026-01-21

评论区