第22课:二选一的智慧——if-else语句

🎯 本课目标

  • 掌握if-else语句的基本语法
  • 理解"二选一"的逻辑思维
  • 学会处理条件的对立情况
  • 能够编写包含else分支的程序
  • 解决实际生活中的二选一问题

🤔 趣味引入:生活中的"二选一"

想象一下:生活中充满"二选一"的选择:

  • 🍎 如果苹果是甜的,那么我喜欢吃;否则我不吃
  • ☀️ 如果是晴天,那么去公园;否则在家看书
  • 📊 如果考试及格,那么庆祝;否则继续复习
  • 🎮 如果游戏通关,那么胜利;否则重新挑战

今天,让我们一起学习编程中的"二选一"——if-else语句


🔧 第一部分:认识if-else语句

1.1 什么是if-else语句?

# if-else语句基本概念
print("🎯 认识if-else语句")
print("=" * 40)

print("""
if-else语句就像生活中的"要么...要么..."
格式:
    if 条件:
        条件为True时要做的事情
    else:
        条件为False时要做的事情
        
特点:
    1. 总会执行其中一个分支
    2. 不会"沉默"(总有回应)
    3. 适合二选一的场景
""")

# 简单示例
weather = input("今天天气怎么样?(晴/雨):")

if weather == "晴":
    print("☀️ 天气晴朗,可以去公园玩!")
else:
    print("🌧️ 天气不好,在家看书吧!")

print("程序继续执行...")

1.2 基本语法对比

# if vs if-else
print("\n📚 if vs if-else 对比")
print("=" * 50)

# 只有if的情况
print("只有if语句:")
score = 85
print(f"成绩:{score}分")

if score >= 60:
    print("✅ 及格了!")

print("这里总是会执行")
print("问题:如果不及格,没有反馈\n")

# 使用if-else
print("使用if-else语句:")
score = 45
print(f"成绩:{score}分")

if score >= 60:
    print("✅ 及格了!")
else:
    print("❌ 不及格,要加油了!")

print("这里总是会执行")
print("优点:无论什么情况都有反馈")

🔄 第二部分:if-else语法详解

2.1 基本语法结构

# if-else语法详解
print("🔄 if-else语法详解")
print("=" * 40)

# 语法结构说明
print("""
📋 语法格式:

if 条件:
    # 当条件为True时执行的代码块
    # 注意缩进:4个空格
    语句1
    语句2
    ...
else:
    # 当条件为False时执行的代码块
    # 同样的缩进
    语句A
    语句B
    ...
    
💡 注意:
1. else后面有冒号(:)
2. else没有条件,它处理"其他所有情况"
3. if和else的代码块缩进要一致
4. 两个代码块只会执行其中一个
""")

# 错误示例
print("❌ 常见错误:")
print("1. else后面写条件:else score < 60: ✗")
print("2. 缩进不一致:if和else的代码块缩进不同 ✗")
print("3. else写成elif:else: 不是 elif: ✗")

2.2 实际应用示例

# if-else实际应用
print("\n🎯 if-else实际应用")
print("=" * 40)

# 示例1:奇偶数判断
number = 7
print(f"数字:{number}")

if number % 2 == 0:
    print(f"{number}是偶数")
else:
    print(f"{number}是奇数")

# 示例2:年龄判断
age = 15
print(f"\n年龄:{age}岁")

if age >= 18:
    print("👨 你是成年人")
else:
    print("👦 你是未成年人")

# 示例3:余额检查
balance = 30
price = 50
print(f"\n💰 余额:{balance}元,商品价格:{price}元")

if balance >= price:
    print("🛍️ 可以购买!")
else:
    need = price - balance
    print(f"❌ 余额不足,还差{need}元")

# 示例4:温度判断
temperature = 25
print(f"\n🌡️ 当前温度:{temperature}°C")

if temperature >= 30:
    print("🥵 天气很热,注意防暑!")
else:
    print("😊 天气舒适,适合外出!")

🎮 第三部分:if-else实践

3.1 交互式判断练习

# 交互式判断练习
print("🎮 交互式判断练习")
print("=" * 40)

# 练习1:学习时间判断
print("练习1:学习时间管理")
study_time = float(input("今天学习了多少小时? "))

if study_time >= 2:
    print(f"📚 学习了{study_time}小时,很棒!可以休息了。")
else:
    need = 2 - study_time
    print(f"⏰ 还差{need}小时,再学习一会儿吧!")

# 练习2:运动打卡
print("\n练习2:运动打卡")
did_exercise = input("今天运动了吗?(是/否):")

if did_exercise == "是":
    exercise_type = input("做了什么运动?")
    print(f"🏃 做了{exercise_type},继续保持!")
else:
    print("💪 今天没运动,明天记得动起来!")

# 练习3:作业完成度
print("\n练习3:作业完成度")
homework = input("作业完成了吗?(是/否):")

if homework == "是":
    quality = input("完成质量如何?(好/一般):")
    if quality == "好":
        print("⭐ 作业完成得很好!")
    else:
        print("💡 下次可以做得更好!")
else:
    reason = input("为什么没完成?")
    print(f"📝 因为{reason},明天要补上哦!")

# 练习4:零花钱管理
print("\n练习4:零花钱管理")
pocket_money = float(input("本周零花钱还剩多少? "))
target = 20  # 目标存款

if pocket_money >= target:
    save = pocket_money - target
    print(f"💰 可以存{save}元到储蓄罐!")
else:
    print("💰 这周零花钱用完了,下周要节约哦!")

3.2 简单游戏:幸运抽奖

# 幸运抽奖游戏
print("\n🎲 幸运抽奖游戏")
print("=" * 50)

import random

print("欢迎参加幸运抽奖!")
print("规则:抽到7为中奖,其他数字为不中奖")

# 生成1-10的随机数
lucky_number = random.randint(1, 10)
print(f"\n你抽到的数字是:{lucky_number}")

if lucky_number == 7:
    print("🎉 恭喜你!中奖了!")
    print("奖品:免费冰淇淋券一张!🍦")
else:
    print("💔 很遗憾,没有中奖")
    print("💪 下次好运!")

# 额外功能:根据数字给出建议
print("\n📊 数字分析:")
if lucky_number % 2 == 0:
    print(f"{lucky_number}是偶数,代表稳定")
else:
    print(f"{lucky_number}是奇数,代表变化")

if lucky_number > 5:
    print("数字大于5,运气不错")
else:
    print("数字小于等于5,需要努力")

📊 第四部分:复杂二选一应用

4.1 学生管理系统增强

# 学生管理系统增强版
print("\n🎒 学生管理系统增强版")
print("=" * 50)

print("欢迎使用学生管理系统!")
print("请选择操作:")
print("1. 成绩评定")
print("2. 出勤检查")
print("3. 行为评价")

choice = input("\n请输入选择(1-3):")

if choice == "1":
    # 成绩评定
    print("\n📊 成绩评定系统")
    score = float(input("请输入学生成绩(0-100):"))
    
    if score >= 60:
        if score >= 90:
            grade = "优秀"
        elif score >= 80:
            grade = "良好"
        else:
            grade = "及格"
        print(f"✅ 成绩{grade}!分数:{score}")
    else:
        gap = 60 - score
        print(f"❌ 不及格!还差{gap}分,需要努力!")

elif choice == "2":
    # 出勤检查
    print("\n📅 出勤检查")
    attendance = input("学生今天出勤了吗?(是/否):")
    
    if attendance == "是":
        print("✅ 出勤正常")
        on_time = input("准时到校吗?(是/否):")
        if on_time == "是":
            print("⏰ 准时到校,表现很好!")
        else:
            print("⏰ 迟到,下次要注意")
    else:
        print("❌ 缺勤")
        reason = input("缺勤原因:")
        print(f"📝 缺勤原因:{reason},已记录")

elif choice == "3":
    # 行为评价
    print("\n🌟 行为评价")
    behavior = input("学生今天表现如何?(好/一般/差):")
    
    if behavior == "好":
        print("⭐ 表现优秀,给予表扬!")
        reward = input("给予什么奖励?(贴纸/小礼物):")
        print(f"🎁 奖励:{reward}")
    else:
        print("💡 需要改进")
        suggestion = input("改进建议:")
        print(f"📋 改进建议:{suggestion}")

else:
    print("❌ 无效选择,请重新运行程序")

4.2 智能天气建议系统

# 智能天气建议系统
print("\n🌤️ 智能天气建议系统")
print("=" * 50)

print("欢迎使用智能天气建议系统!")
print("请回答以下问题:")

# 获取天气信息
weather = input("\n1. 今天天气如何?(晴/雨/阴/雪):")
temperature = float(input("2. 当前温度(摄氏度):"))
windy = input("3. 风大吗?(是/否):")

print(f"\n📊 天气分析:")
print(f"  天气:{weather}")
print(f"  温度:{temperature}°C")
print(f"  风大:{windy}")

print(f"\n💡 智能建议:")

# 穿衣建议
if temperature >= 25:
    clothing = "👕 穿短袖"
else:
    clothing = "🧥 穿长袖或外套"
print(f"1. 穿衣:{clothing}")

# 活动建议
if weather == "晴":
    if windy == "是":
        activity = "🏃 可以去放风筝"
    else:
        activity = "🚴 适合户外运动"
else:
    activity = "📖 适合室内活动"
print(f"2. 活动:{activity}")

# 出行建议
if weather == "雨":
    transport = "🚗 建议乘车或带伞步行"
else:
    transport = "🚶 可以步行或骑车"
print(f"3. 出行:{transport}")

# 特殊提醒
if weather == "雪":
    print("❄️ 注意:下雪天,小心路滑!")
elif temperature <= 0:
    print("🥶 注意:气温低于0度,注意保暖!")
elif temperature >= 35:
    print("🥵 注意:高温天气,避免中暑!")
else:
    print("😊 天气舒适,享受美好的一天!")

🎯 第五部分:综合练习

5.1 选择题练习

# 选择题练习
print("\n🧠 选择题练习")
print("=" * 40)

print("请判断以下代码的输出结果:")

# 题目1
print("\n📝 题目1:")
code1 = '''
num = 10
if num > 5:
    print("A")
else:
    print("B")
'''
print(code1)

answer = input("输出结果是? (A/B): ")
if answer.upper() == "A":
    print("✅ 正确!因为10>5,所以执行if分支")
else:
    print("❌ 错误,应该是A")

# 题目2
print("\n📝 题目2:")
code2 = '''
age = 16
if age >= 18:
    print("成年人")
else:
    print("未成年人")
'''
print(code2)

answer = input("输出结果是? (成年人/未成年人): ")
if answer == "未成年人":
    print("✅ 正确!因为16<18,所以执行else分支")
else:
    print("❌ 错误,应该是未成年人")

# 题目3
print("\n📝 题目3:")
code3 = '''
score = 85
if score >= 90:
    grade = "A"
else:
    if score >= 80:
        grade = "B"
    else:
        grade = "C"
print(grade)
'''
print(code3)

answer = input("输出结果是? (A/B/C): ")
if answer.upper() == "B":
    print("✅ 正确!85>=80,所以grade='B'")
else:
    print("❌ 错误,应该是B")

5.2 代码填空练习

# 代码填空练习
print("\n🔧 代码填空练习")
print("=" * 40)

print("请补全以下代码:")

# 练习1:奇偶数判断
print("\n练习1:奇偶数判断")
print("""
# 判断数字是奇数还是偶数
num = 7
if ______:  # 填空1
    print("偶数")
else:
    print("奇数")
""")

input("按回车查看答案...")
print("✅ 答案:num % 2 == 0")

# 练习2:年龄分级
print("\n练习2:年龄分级")
print("""
# 判断年龄阶段
age = 12
if age < 13:
    print("儿童")
______:  # 填空2
    print("青少年")
else:
    print("成人")
""")

input("按回车查看答案...")
print("✅ 答案:elif age < 20:")

# 练习3:密码验证
print("\n练习3:密码验证")
print("""
# 简单的密码验证
password = input("请输入密码:")
correct_password = "abc123"
if password == correct_password:
    print("✅ 密码正确")
______:  # 填空3
    print("❌ 密码错误")
""")

input("按回车查看答案...")
print("✅ 答案:else:")

📅 下节课预告

第23课:多选一迷宫——if-elif-else多分支

下节课你将学习:

  1. 如何处理多个可能的情况
  2. if-elif-else语句的用法
  3. 多条件判断的逻辑
  4. 制作能处理多种选择的程序
  5. 避免过长的if-else嵌套

预习思考

  1. 如果有三种或更多选择怎么办?
  2. elif和else有什么区别?
  3. 如何合理安排多个条件的顺序?

💬 给家长的话

亲爱的家长

今天孩子学习了if-else语句,这是编程中处理"二选一"决策的核心工具。通过这门课,孩子学会了让程序总能给出回应,不"沉默"。

孩子今天学会了

  1. ✅ 掌握if-else语句的完整语法
  2. ✅ 理解"二选一"的逻辑思维
  3. ✅ 编写总有回应的程序
  4. ✅ 处理条件的对立情况
  5. ✅ 在实际问题中应用if-else

if-else的重要性

| 概念 | 在编程中的应用 | 实际意义 | 思维培养 |

|------|---------------|---------|---------|

| 二选一 | 处理两种对立情况 | 决策能力 | 选择思维 |

| 完备性 | 总会有结果输出 | 完整性 | 周全思维 |

| 对立处理 | 处理"是"和"否" | 辩证思维 | 分析能力 |

| 错误处理 | 给出错误提示 | 容错能力 | 预见思维 |

您可以这样做

生活应用

  1. 日常决策:和孩子讨论生活中的"二选一"
  2. 游戏设计:设计简单的二选一游戏
  3. 学习规划:用if-else制定学习计划
  4. 习惯培养:用if-else建立好习惯

思维训练

  1. 讨论:哪些情况适合用if-else?
  2. 思考:如何让二选一更合理?
  3. 实践:设计智能问答系统
  4. 改进:优化现有的判断逻辑

温馨提示

  • if-else让程序更友好,总有反馈
  • 注意条件的对立性和完备性
  • 鼓励孩子思考"否则"的情况
  • 通过实际应用加深理解

🏆 今日成就

完成了今天的学习,你:

🎯 掌握了if-else语句

🔄 理解了二选一逻辑

💬 编写了总有回应的程序

🤔 培养了选择思维

🔧 解决了实际问题

挑战任务

  1. 设计智能天气建议系统
  2. 制作简单登录验证程序
  3. 创建游戏胜负判断器
  4. 改进现有的决策程序

🌟 编程心法

编程是选择的艺术
if是开始
else是备选
条件是指挥棒
选择是智慧
总有回应是责任
不沉默是温柔
从二选一开始
走向复杂的决策
每一个选择
都是逻辑的体现
每一个分支
都是智慧的延伸

记住:学会if-else,你的程序就有了"礼貌",总能给用户回应。这是编写友好程序的第一步!


第22课结束。你现在已经掌握了二选一的智慧!

实践任务:

1. 设计登录验证系统

2. 制作天气建议程序

3. 创建游戏胜负判断

4. 改进决策逻辑

下节课,让我们学习多选一,处理更复杂的选择!

第23课见!🎲