- ⏳ 课程时长: 90 分钟
- 🎯 教学目标:
- 🪜 阶梯逻辑:掌握
elif,处理三个及以上的选择。 - 🔗 组合魔法:学会
and(并且)、or(或者)、not(非)。 - 🧠 逻辑思维:理解条件判断的“优先级”顺序。
- 🎮 复杂应用:编写更智能的判断程序(如成绩评级、登录验证)。
- 🪜 阶梯逻辑:掌握
📖 课程内容
1. 🚦 引入:假如生活不只是二选一 (10 分钟)
回顾一下红绿灯。如果我们只用 if 和 else,只能判断“红灯”和“不是红灯”。那“黄灯”去哪了?
我们需要一个新帮手——elif (它的全名是 else if,意思是“否则,如果…”)。
2. 🪜 逻辑的阶梯:elif 语句 (20 分钟)
elif 就像一个层层过滤的筛子。程序会从上往下查,一旦满足某个条件,执行完就直接跳出,不再看下面的条件。
-
📜 语法结构:
if 条件1: # 条件1 成立做这个 elif 条件2: # 条件1 不成立,但 条件2 成立做这个 elif 条件3: # 前面都不成立,但 条件3 成立做这个 else: # 此时此刻,前面所有的条件都不成立!做这个兜底 -
🚦 场景 A:智能红绿灯助手
color = input("现在的灯是什么颜色?(红/黄/绿): ") if color == "红": print("🔴 停车!绝对不能过!") elif color == "黄": print("🟡 等一等,不要抢秒!") elif color == "绿": print("🟢 可以通行,注意安全。") else: print("🤖 系统故障:没见过这种颜色的灯!") -
🏆 场景 B:成绩评级系统 (注意顺序!) 我们要把分数变成等级。
- 90分以上:优秀 🌟
- 80-90分:良好 👍
- 60-80分:及格 🙂
- 60分以下:加油 💪
score = int(input("请输入你的分数: ")) if score >= 90: print("等级:优秀 🌟") elif score >= 80: # 程序走到这里,说明分数肯定小于 90 (否则就被上面抓走了) print("等级:良好 👍") elif score >= 60: print("等级:及格 🙂") else: print("等级:不及格,继续加油!💪")
3. 🔗 组合拳:逻辑运算符 (25 分钟)
有时候,一个条件是不够的。
- 比如:只有当你写完作业 并且 (
and) 天气好,才能出去玩。 - 比如:只要今天是周六 或者 (
or)今天是周日,就不用上学。
Python 提供了三个强力的逻辑连接词:
-
1️⃣
and(并且 – 严厉的守门员)- 只有两边都为真,结果才为真。
- 只要有一个假,结果就是假。
- 口诀:一假则假,全真才真。
-
2️⃣
or(或者 – 善良的守门员)- 只要有一边为真,结果就为真。
- 只有两边都假,结果才是假。
- 口诀:一真则真,全假才假。
-
3️⃣
not(非 – 捣蛋鬼)- 把真变假,把假变真。唱反调!
4. 🎮 逻辑魔法实战 (25 分钟)
让我们把这些逻辑组合起来,解决复杂问题!
场景 C:🔐 超级账号验证 (and 的应用)
登录不仅要用户名对,密码也得对,缺一不可!
print("--- 🔐 超级系统登录 ---")
username = input("用户名: ")
password = input("密码: ")
# 两个条件必须同时满足
if username == "admin" and password == "123456":
print("✅ 验证通过!欢迎管理员!")
else:
print("❌ 登录失败!用户名或密码错误。")
场景 D:🎢 游乐园 VIP 通道 (or 的应用)
只要你是 1.2米以下的小朋友,或者你是 持有VIP卡的大人,都可以走快速通道。
print("--- 🎢 游乐园快速通道 ---")
height = float(input("你的身高(米): "))
has_vip = input("你有VIP卡吗?(有/没有): ")
if height < 1.2 or has_vip == "有":
print("✨ 请走快速通道!无需排队!")
else:
print("🚶 请走普通通道排队。")
场景 E:🚫 捣蛋鬼 (not 的应用)
有时候反过来想更简单。比如“只要不是周一”,我就很开心。
day = input("今天是周几?")
if not day == "周一":
print("😄 太好了,今天不是痛苦的周一!")
else:
print("😭 也要努力学习哦...")
5. 🐛 捉虫特工队 (5 分钟)
逻辑变复杂了,Bug 也变狡猾了!
- 陷阱:
if的顺序score = 95 # 错误的写法 if score > 60: print("及格") # 95 大于 60,程序打印完这个就跑了! elif score > 90: print("优秀") # 永远轮不到这里执行修复:在用
elif筛选范围时,要从最严格(范围最小)的条件开始写!
💪 课堂大挑战 (10 分钟)
🏋️♂️ BMI 健康计算器
BMI 是衡量身材的标准。公式:体重(kg) / (身高(m) * 身高(m))。
- 让用户输入身高和体重。
- 计算 BMI。
- 根据 BMI 输出评价:
- 小于 18.5 -> “偏瘦”
- 18.5 到 24 -> “正常”
- 大于 24 -> “偏胖”
# 参考代码结构
w = float(input("体重(kg): "))
h = float(input("身高(m): "))
bmi = w / (h * h)
print("你的BMI指数是:", bmi)
if bmi < 18.5:
print("偏瘦")
elif bmi <= 24: # 这里不需要写 >= 18.5,因为上面已经过滤了
print("正常")
else:
print("偏胖")
📝 课程总结 (5 分钟)
今天我们升级了大脑的逻辑芯片!🧠
elif:让我们拥有了处理多重情况的能力(红/黄/绿)。and:严厉的“并且”,必须全对。or:宽容的“或者”,满足一个就行。not:调皮的“反转”,真变假,假变真。
🏠 课后作业 (5 分钟)
-
🎟️ 电影院票价系统: 编写一个程序,询问用户的年龄。
- 如果年龄 < 12:票价 30 元。
- 如果年龄在 12 到 60 岁之间 (含):票价 60 元。
- 如果年龄 > 60:票价 35 元。
- 最后打印出票价。
-
📅 闰年判断器 (逻辑大师挑战): 判断一个年份是不是闰年,规则有点绕,试试用
and和or组合:- 规则 1:能被 4 整除,并且 不能被 100 整除。
- 规则 2:或者 能被 400 整除。
- 满足以上任意一个规则,就是闰年。
(提示:
year % 4 == 0)
-
✂️ 石头剪刀布 (初级版): 让玩家 A 和玩家 B 分别输入 “石头”、”剪刀” 或 “布”。 只写一个判断:如果 玩家 A 赢了,打印 “玩家 A 获胜!”。 (提示:A出石头 并且 B出剪刀,或者 A出剪刀 并且 B出布…)
下节课预告: 现在的程序还是只会跑一遍就结束。如果你想让程序一直跑,或者让它帮你抄写 100 遍单词怎么办?下节课,我们将学习“不知疲倦的循环魔法”!🔄💫
下次见,逻辑魔法师们!👋

评论(0)