• ⏳ 课程时长: 90 分钟
  • 🎯 教学目标:
    • 🪜 阶梯逻辑:掌握 elif,处理三个及以上的选择。
    • 🔗 组合魔法:学会 and (并且)、or (或者)、not (非)。
    • 🧠 逻辑思维:理解条件判断的“优先级”顺序。
    • 🎮 复杂应用:编写更智能的判断程序(如成绩评级、登录验证)。

📖 课程内容

1. 🚦 引入:假如生活不只是二选一 (10 分钟)

回顾一下红绿灯。如果我们只用 ifelse,只能判断“红灯”和“不是红灯”。那“黄灯”去哪了? 我们需要一个新帮手——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 分钟)

今天我们升级了大脑的逻辑芯片!🧠

  1. elif:让我们拥有了处理多重情况的能力(红/黄/绿)。
  2. and:严厉的“并且”,必须全对。
  3. or:宽容的“或者”,满足一个就行。
  4. not:调皮的“反转”,真变假,假变真。

🏠 课后作业 (5 分钟)

  1. 🎟️ 电影院票价系统: 编写一个程序,询问用户的年龄。

    • 如果年龄 < 12:票价 30 元。
    • 如果年龄在 12 到 60 岁之间 (含):票价 60 元。
    • 如果年龄 > 60:票价 35 元。
    • 最后打印出票价。
  2. 📅 闰年判断器 (逻辑大师挑战): 判断一个年份是不是闰年,规则有点绕,试试用 andor 组合:

    • 规则 1:能被 4 整除,并且 不能被 100 整除。
    • 规则 2:或者 能被 400 整除。
    • 满足以上任意一个规则,就是闰年。 (提示:year % 4 == 0)
  3. ✂️ 石头剪刀布 (初级版):玩家 A玩家 B 分别输入 “石头”、”剪刀” 或 “布”。 只写一个判断:如果 玩家 A 赢了,打印 “玩家 A 获胜!”。 (提示:A出石头 并且 B出剪刀,或者 A出剪刀 并且 B出布…)


下节课预告: 现在的程序还是只会跑一遍就结束。如果你想让程序一直跑,或者让它帮你抄写 100 遍单词怎么办?下节课,我们将学习“不知疲倦的循环魔法”!🔄💫

下次见,逻辑魔法师们!👋

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。