当前位置:首页>python>Python条件判断

Python条件判断

  • 2026-10-11 12:50:35
Python条件判断

哈喽各位同学~

在编程世界里,让程序 “自己做选择”,是从简单脚本走向智能逻辑的第一步。而实现这一切的核心,就是条件判断。

不管是判断成绩是否及格、账号是否登录、年龄是否满足要求,还是根据不同情况输出不同结果,都离不开 if、else、elif。它就像程序里的 “岔路口”,满足什么条件,就走哪条路。

"智能的本质不是计算,而是选择。学会做选择,你的程序就拥有了智慧。"

一、生活中的判断

🤔 每天都在做选择

想想看,生活中充满了判断:

  • 如果下雨 → 带伞出门
  • 如果红灯亮了 → 停下来等待
  • 如果作业做完了 → 可以玩游戏
  • 如果考了一百分 → 爸爸妈妈会奖励我

这些"如果...就..."的判断,在编程中叫做条件语句。

💡 程序中的判断

计算机特别擅长做判断,因为它不会犹豫,也不会出错(只要你写对了代码)。

比如一个自动售货机:

如果 投入的钱 >= 商品价格:    出货    找零否则:    提示 "钱不够"

二、if 语句基础

📝 基本语法

if 条件:# 条件为真时执行的代码# 注意缩进!

关键要点:

  • if 后面跟一个条件
  • 条件后面有冒号 :
  • 下面的代码要缩进(通常4个空格)
  • 缩进的代码叫做"代码块"

✅ 第一个 if 程序

age = 12if age >= 10:print("你已经是大孩子了!")print("可以学Python了!")print("程序结束")

运行结果:

你已经是大孩子了!可以学Python了!程序结束

分析:

  1. age = 12,所以 age >= 10 是真的
  2. 执行 if 里面的两行代码
  3. 然后继续执行后面的代码

❌ 条件不满足的情况

age = 8if age >= 10:print("你已经是大孩子了!")print("程序结束")

运行结果:

程序结束

分析:

  • age = 8,所以 age >= 10 是假的
  • if 里面的代码不会执行
  • 直接跳到后面的代码

三、比较运算符

重要提醒:

  • = 是赋值(把右边的值给左边)
  • == 是比较(判断两边是否相等)
x = 5# 赋值:把5存到x里x == 5# 比较:x是不是等于5?

🎯 实战:成绩评价系统

score = int(input("请输入成绩(0-100):"))if score == 100:print("满分!太棒了!🏆")if score >= 90:print("优秀!👍")if score >= 60:print("及格了!✅")if score < 60:print("不及格,要加油哦!💪")

测试一下:

  • 输入 100 → 显示所有前三条
  • 输入 95 → 显示"优秀"和"及格"
  • 输入 70 → 只显示"及格"
  • 输入 50 → 只显示"不及格"

四、else 语句

🤷 如果不满足呢?

有时候我们需要处理"不满足条件"的情况:

password = input("请输入密码:")if password == "123456":print("密码正确,欢迎进入!")else:print("密码错误,请重试!")

语法:

if 条件:# 条件为真时执行else:# 条件为假时执行

🎮 实战:猜数字游戏(简单版)

import random# 电脑随机想一个1-100的数字secret = random.randint(1, 100)print("我想了一个1-100之间的数字,你来猜!")guess = int(input("请输入你的猜测:"))if guess == secret:print(f"恭喜你,猜对了!答案就是{secret}!")else:print(f"猜错了!我想的是{secret}。")print("再试一次吧!")

五、elif 多分支判断

🔀 多个条件怎么办?

如果有很多条件需要判断,用一堆 if 不太合适:

# ❌ 不好的写法if score >= 90:print("A")if score >= 80and score < 90:    # 太啰嗦print("B")if score >= 70and score < 80:print("C")

更好的写法:elif

score = int(input("请输入成绩:"))if score >= 90:    grade = "A"elif score >= 80:    grade = "B"elif score >= 70:    grade = "C"elif score >= 60:    grade = "D"else:    grade = "F"print(f"你的等级是:{grade}")

elif 的特点:

  • 全称:else if(否则如果)
  • 从上到下依次检查
  • 一旦某个条件满足,后面的都不检查了
  • 最后可以用 else 处理"其他所有情况"

六、逻辑运算符

🔗 组合多个条件

有时候需要同时满足多个条件:

and(与)——两个都要满足

age = 15has_id = Trueif age >= 12and has_id:print("可以购买儿童票")else:print("不能购买")

or(或)——满足一个就行

day = "周六"if day == "周六"or day == "周日":print("今天是周末,可以睡懒觉!")else:print("今天要上学")

not(非)——取反

is_raining = Falseifnot is_raining:print("没下雨,可以出去玩!")

🎯 实战:会员等级系统

# 根据消费金额和会员年限确定等级spend = float(input("请输入消费金额:"))years = int(input("请输入会员年限:"))if spend >= 10000and years >= 3:    level = "钻石会员"    discount = 0.7elif spend >= 5000or years >= 2:    level = "黄金会员"    discount = 0.8elif spend >= 1000:    level = "白银会员"    discount = 0.9else:    level = "普通会员"    discount = 1.0print(f"您的等级:{level}")print(f"享受折扣:{discount * 10}折")

七、嵌套 if 语句

🏠 if 里面还有 if

就像大盒子里有小盒子:

is_member = input("您是会员吗?(yes/no):") == "yes"if is_member:    points = int(input("请输入积分:"))if points >= 1000:print("可以兑换精美礼品!")else:print(f"还差{1000 - points}分可以兑换礼品")else:print("注册会员即可享受积分兑换!")

注意事项:

  • 每一层都要有正确的缩进
  • 不要嵌套太多层(建议不超过3层)
  • 复杂的逻辑可以拆成函数

🎮 实战:完整的猜数字游戏

import randomsecret = random.randint(1, 100)attempts = 0max_attempts = 7print("🎮 猜数字游戏")print(f"我想了一个1-100的数字,你有{max_attempts}次机会!")while attempts < max_attempts:    guess = int(input(f"\n第{attempts + 1}次猜测:"))    attempts += 1if guess == secret:print(f"🎉 恭喜你,猜对了!用了{attempts}次")# 根据次数评价if attempts <= 3:print("🏆 太厉害了!天才!")elif attempts <= 5:print("👍 不错哦!")else:print("✅ 刚好猜中!")breakelif guess < secret:print("📈 太小了,往大猜!")else:print("📉 太大了,往小猜!")print(f"还剩{max_attempts - attempts}次机会")else:print(f"\n😢 机会用完了!答案是{secret}")

八、条件表达式(简写形式)

✨ 一行写完 if-else

对于简单的判断,可以写得更加简洁:

# 普通写法age = 20if age >= 18:    status = "成年人"else:    status = "未成年人"# 简写形式status = "成年人"if age >= 18else"未成年人"

语法:

结果A if 条件 else 结果B

更多例子:

# 求绝对值num = -5abs_num = num if num >= 0else -num# 判断奇偶n = 7result = "偶数"if n % 2 == 0else"奇数"# 成绩评价score = 85level = "优秀"if score >= 90else"良好"if score >= 80else"及格"

九、常见错误与调试

❌ 错误1:忘记冒号

if age > 10# ❌ 少了冒号print("长大了")# SyntaxError: expected ':'

修正:

if age > 10:     # ✅ 加上冒号print("长大了")

❌ 错误2:缩进不一致

if score >= 60:print("及格")print("恭喜")    # ❌ 多了一个空格

修正:

if score >= 60:print("及格")print("恭喜")    # ✅ 对齐

❌ 错误3:混淆 = 和 ==

if x = 5:         # ❌ 这是赋值,不是比较print("x是5")# SyntaxError: invalid syntax

修正:

if x == 5:        # ✅ 这才是比较print("x是5")

❌ 错误4:elif 写成 elseif

if a > 0:print("正数")elseif a < 0:     # ❌ Python里没有elseifprint("负数")

修正:

if a > 0:print("正数")elif a < 0:       # ✅ 正确写法print("负数")

十、综合项目:智能问答机器人

🤖 项目目标

制作一个能回答问题的聊天机器人!

📝 完整代码

print("=" * 40)print("🤖 我是智能小助手,很高兴为你服务!")print("=" * 40)name = input("\n你叫什么名字?")print(f"你好,{name}!有什么可以帮你的?")whileTrue:print("\n你可以问我:")print("1. 今天天气怎么样?")print("2. 推荐一本书")print("3. 讲个笑话")print("4. 退出")    choice = input("\n请输入选项(1-4):")if choice == "1":        city = input("你在哪个城市?")if city in ["北京", "上海", "广州", "深圳"]:print(f"{city}今天晴天,适合外出!☀️")elif city in ["杭州", "成都", "西安"]:print(f"{city}今天多云,温度适宜。⛅")else:print(f"抱歉,我还不知道{city}的天气。🤔")elif choice == "2":        age = int(input("你今年几岁?"))if age < 10:print("推荐《小王子》,一本温暖的童话书。📚")elif age < 15:print("推荐《哈利波特》,魔法世界的冒险!🧙‍♂️")else:print("推荐《三体》,宏大的科幻史诗!🚀")elif choice == "3":import random        jokes = ["为什么程序员总是分不清圣诞节和万圣节?因为 Oct 31 == Dec 25!","程序员最讨厌的四件事:1. 写注释 2. 写文档 3. 别人不写注释 4. 别人不写文档","一个程序员走进酒吧,举起双手说:'我要一杯啤酒!'酒保说:'你是要一瓶还是一杯?'程序员说:'是的。'"        ]print(random.choice(jokes))elif choice == "4":print(f"再见,{name}!期待下次见面!👋")breakelse:print("我不明白你的选择,请重新输入。")

十一、条件判断知识点总结

知识点
内容
示例
if
单条件判断
if x > 0:
if-else
二选一
if...else...
if-elif-else
多分支
if...elif...else...
比较运算符
== != > < >= <=
age >= 18
逻辑运算符
and or not
a > 0 and b > 0
嵌套 if
if 里面有 if
多层缩进
条件表达式
简写形式
a if x > 0 else b

思考题

  1. 什么时候用 if-elif-else,什么时候用多个独立的 if?
  2. 你能想到生活中哪些事情可以用条件判断来编程实现?
  3. 如果条件很多(比如10个以上),怎么写代码更清晰?

🚀 预告

下一篇我们将学习 《循环结构——让程序重复工作》,你将学会:

  • for 循环遍历数据
  • while 循环控制流程
  • break 和 continue
  • 制作倒计时、进度条等实用程序

准备好让你的程序不知疲倦地工作了吗?我们下次见!


记住:条件判断是程序的"大脑",让它能够思考、决策。掌握了这一点,你就离真正的程序员更近了一步!🧠✨

最新文章

随机文章