第21课:如果...那么... —— 单分支if语句

🎯 本课目标

  • 理解条件判断的概念
  • 掌握if语句的基本语法
  • 学会使用比较运算符
  • 能够编写简单的条件判断程序
  • 在实际场景中应用if语句

🤔 趣味引入:生活中的"如果...那么..."

想象一下:生活中处处是"如果...那么...":

  • 🍎 如果苹果是红的,那么可以吃
  • ⏰ 如果7点了,那么该起床了
  • 📖 如果作业做完了,那么可以看电视
  • 🍦 如果天气热,那么可以吃冰淇淋

今天,让我们一起学习编程中的"如果...那么..."——if语句


🔧 第一部分:认识if语句

1.1 什么是if语句?

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

print("""
if语句就像生活中的"如果...那么..."
格式:
    if 条件:
        要做的事情
        
注意:
    1. if后面要有冒号(:)
    2. 要做的事情前面要有4个空格(缩进)
""")

# 简单示例
weather = "下雨"

if weather == "下雨":
    print("🌧️ 下雨了,记得带伞!")

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

1.2 基本语法

# if语句基本语法
print("\n📚 if语句基本语法")
print("=" * 40)

# 语法格式
print("""
if 条件:
    # 条件为True时执行的代码
    # 注意缩进!缩进是Python的"大括号"
    # 通常是4个空格
""")

# 实际示例
age = 12
print(f"年龄:{age}岁")

if age >= 10:
    print("✅ 你可以自己骑自行车上学了!")

# 比较:有缩进 vs 无缩进
print("\n🔍 注意缩进的区别:")
print("有缩进(属于if语句):")
if age >= 10:
    print("这条语句在if里面")
    print("这条也在if里面")

print("\n无缩进(独立语句):")
if age >= 10:
    print("这条在if里面")
print("这条不在if里面,总是执行")

⚖️ 第二部分:比较运算符

2.1 六种比较运算符

# 比较运算符
print("⚖️ 比较运算符")
print("=" * 40)

# 定义两个数字
a = 10
b = 5
print(f"a = {a}, b = {b}")
print()

# 1. 等于 ==
equal = a == b
print(f"1. 等于:{a} == {b} 是 {equal}")

# 2. 不等于 !=
not_equal = a != b
print(f"2. 不等于:{a} != {b} 是 {not_equal}")

# 3. 大于 >
greater = a > b
print(f"3. 大于:{a} > {b} 是 {greater}")

# 4. 小于 <
less = a < b
print(f"4. 小于:{a} < {b} 是 {less}")

# 5. 大于等于 >=
greater_equal = a >= b
print(f"5. 大于等于:{a} >= {b} 是 {greater_equal}")

# 6. 小于等于 <=
less_equal = a <= b
print(f"6. 小于等于:{a} <= {b} 是 {less_equal}")

2.2 比较运算符的实际应用

# 比较运算符实际应用
print("\n🎯 比较运算符的实际应用")
print("=" * 40)

# 学生成绩判断
score = 85
print(f"成绩:{score}分")

if score >= 60:
    print("🎉 恭喜!及格了!")

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

if temperature > 30:
    print("🥵 天气很热,注意防暑!")

# 身高判断
height = 150
print(f"\n📏 身高:{height}厘米")

if height >= 120:
    print("🎢 身高达标,可以坐过山车!")

# 年龄判断
age = 8
print(f"\n👶 年龄:{age}岁")

if age >= 6:
    print("🏫 已经到了上学的年龄")

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

if balance >= item_price:
    print("🛍️ 余额足够,可以购买!")

🎮 第三部分:if语句实践

3.1 简单条件判断

# 简单条件判断练习
print("🎮 简单条件判断练习")
print("=" * 40)

# 练习1:检查是否下雨
print("练习1:天气预报")
weather = input("今天天气怎么样?(晴/雨/阴):")

if weather == "雨":
    print("🌂 记得带伞!")

# 练习2:检查作业完成情况
print("\n练习2:作业检查")
homework = input("作业完成了吗?(是/否):")

if homework == "是":
    print("📚 作业完成了,可以玩一会儿!")

# 练习3:温度提示
print("\n练习3:温度提示")
temp = float(input("请输入当前温度(摄氏度):"))

if temp < 0:
    print("❄️ 气温低于0度,很冷!注意保暖!")

if temp > 35:
    print("🔥 气温超过35度,很热!注意防暑!")

# 练习4:分数检查
print("\n练习4:分数检查")
score = float(input("请输入你的分数(0-100):"))

if score == 100:
    print("🏆 满分!太棒了!")

if score < 60:
    print("💪 要加油哦,继续努力!")

3.2 综合应用:学生管理系统

# 学生管理系统 - 简单版
print("\n🎒 学生管理系统 - 简单版")
print("=" * 50)

print("欢迎使用学生管理系统!")
print("请选择操作:")
print("1. 检查出勤")
print("2. 检查作业")
print("3. 检查卫生")

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

if choice == "1":
    # 检查出勤
    print("\n📅 出勤检查:")
    attendance = input("学生今天出勤了吗?(是/否):")
    
    if attendance == "是":
        print("✅ 出勤正常")
    if attendance == "否":
        print("❌ 缺勤,需要联系家长")

elif choice == "2":
    # 检查作业
    print("\n📚 作业检查:")
    homework = input("作业完成了吗?(是/否):")
    
    if homework == "是":
        quality = input("作业质量如何?(好/一般):")
        if quality == "好":
            print("⭐ 作业完成得很好!")
    
    if homework == "否":
        reason = input("为什么没完成?(忘了/不会/生病):")
        if reason == "不会":
            print("💡 需要老师额外辅导")

elif choice == "3":
    # 检查卫生
    print("\n🧹 卫生检查:")
    cleanliness = input("座位干净吗?(是/否):")
    
    if cleanliness == "是":
        print("✨ 座位整洁,保持得很好!")
    if cleanliness == "否":
        print("🧼 需要整理座位")

else:
    print("❌ 请选择1-3的数字!")

🎯 第四部分:布尔值回顾

4.1 布尔值和if语句

# 布尔值和if语句
print("🎯 布尔值和if语句")
print("=" * 40)

# 直接使用布尔值
is_sunny = True
is_weekend = False
has_homework = True

print(f"天气晴朗:{is_sunny}")
print(f"是周末:{is_weekend}")
print(f"有作业:{has_homework}")

# 布尔变量直接作为条件
if is_sunny:
    print("☀️ 天气真好,可以出去玩!")

if is_weekend:
    print("🎉 周末啦,可以放松一下!")

if has_homework:
    print("📚 有作业要做,先完成作业吧!")

# 布尔表达式
print("\n🔍 布尔表达式:")
age = 12
can_watch_movie = age >= 12
print(f"年龄:{age}岁")
print(f"可以看电影吗?{can_watch_movie}")

if can_watch_movie:
    print("🎬 可以看电影了!")

4.2 综合练习:游戏角色控制

# 游戏角色控制
print("\n🎮 游戏角色控制")
print("=" * 50)

print("欢迎来到冒险世界!")
print("你的角色属性:")

# 角色属性
health = 100
energy = 80
coins = 50
has_key = False
has_sword = True

print(f"❤️ 生命值:{health}")
print(f"⚡ 能量值:{energy}")
print(f"💰 金币:{coins}")
print(f"🔑 有钥匙:{has_key}")
print(f"⚔️ 有剑:{has_sword}")

# 场景1:检查生命值
print("\n=== 场景1:检查状态 ===")
if health < 30:
    print("⚠️ 生命值低!需要治疗!")

if energy < 20:
    print("😴 能量不足,需要休息!")

# 场景2:商店购物
print("\n=== 场景2:商店购物 ===")
item_price = 30
if coins >= item_price:
    print(f"💰 你有{coins}金币,可以购买价值{item_price}金币的道具")
    buy = input("要购买吗?(是/否):")
    if buy == "是":
        coins -= item_price
        has_key = True
        print(f"✅ 购买成功!获得钥匙!剩余金币:{coins}")

# 场景3:战斗准备
print("\n=== 场景3:战斗准备 ===")
if has_sword:
    print("⚔️ 你有剑,可以进行战斗!")
    
    enemy_health = 60
    if health > enemy_health:
        print("💪 你的生命值比敌人高,有优势!")
    
    if energy > 50:
        print("⚡ 能量充足,可以使用强力攻击!")

# 场景4:开门检查
print("\n=== 场景4:神秘之门 ===")
if has_key:
    print("🔑 你有钥匙,可以打开神秘之门!")
    open_door = input("要打开门吗?(是/否):")
    if open_door == "是":
        print("✨ 门打开了!里面是..."
              "\n🎁 一个装满金币的宝箱!"
              f"\n💰 获得100金币!")
        coins += 100
        print(f"现在有{coins}金币!")
else:
    print("🚪 门锁着,需要钥匙才能打开")

📝 第五部分:错误处理和注意事项

5.1 常见错误

# 常见错误示例
print("⚠️ 常见错误和注意事项")
print("=" * 50)

print("\n❌ 错误1:忘记冒号")
print("""
错误代码:
    if age > 10
        print("可以")
正确代码:
    if age > 10:
        print("可以")
""")

print("\n❌ 错误2:缩进错误")
print("""
错误代码:
    if age > 10:
    print("可以")  # 没有缩进
正确代码:
    if age > 10:
        print("可以")  # 有缩进
""")

print("\n❌ 错误3:比较运算符用错")
print("""
错误代码:
    if age = 10:  # 这是赋值,不是比较
        print("10岁")
正确代码:
    if age == 10:  # 这才是比较
        print("10岁")
""")

print("\n❌ 错误4:字符串比较大小写")
print("""
错误代码:
    answer = input("是否继续?")
    if answer == "yes":  # 用户输入"Yes"就不匹配
正确代码:
    if answer.lower() == "yes":  # 统一小写
    # 或者
    if answer in ["yes", "Yes", "YES"]:
""")

5.2 调试练习

# 调试练习
print("\n🔧 调试练习")
print("=" * 40)

print("找出下面代码中的错误:")

# 有错误的代码
buggy_code = '''
# 错误代码示例
age = 12
if age = 12
    print("你12岁")
    
weather = "sunny"
if weather = "sunny"
print("天气晴朗")

score = 85
if score > 90
    print("优秀")
'''

print(buggy_code)

input("\n按回车查看正确答案...")

# 正确的代码
correct_code = '''
# 正确的代码
age = 12
if age == 12:  # 要用==,要有冒号
    print("你12岁")
    
weather = "sunny"
if weather == "sunny":  # 要用==,要有冒号
    print("天气晴朗")  # 要有缩进

score = 85
if score > 90:  # 要有冒号
    print("优秀")
'''

print("✅ 正确的代码:")
print(correct_code)

📅 下节课预告

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

下节课你将学习:

  1. 当条件不满足时要做什么
  2. if-else语句的用法
  3. 二选一的决策场景
  4. 制作只能二选一的程序
  5. 避免"什么都不做"的情况

预习思考

  1. 如果条件不满足,程序应该做什么?
  2. 生活中哪些是"二选一"的情况?
  3. 如何让程序总有回应,不"沉默"?

💬 给家长的话

亲爱的家长

今天孩子开始学习编程中非常重要的概念——条件判断。这是培养逻辑思维的关键一步,能帮助孩子理解如何让程序"做决定"。

孩子今天学会了

  1. ✅ 理解if语句的基本概念
  2. ✅ 掌握比较运算符的使用
  3. ✅ 编写简单的条件判断程序
  4. ✅ 注意代码缩进和语法细节
  5. ✅ 在实际场景中应用条件判断

条件判断的重要性

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

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

| 条件判断 | 让程序根据不同情况执行不同操作 | 决策能力 | 逻辑思维 |

| 比较运算符 | 比较大小、判断相等 | 精确判断 | 数学思维 |

| 布尔逻辑 | 判断真假,做出决策 | 判断力 | 分析思维 |

| 代码结构 | 缩进、冒号等语法细节 | 规范性 | 严谨性 |

您可以这样做

生活应用

  1. 日常决策:和孩子讨论生活中的"如果...那么..."
  2. 游戏设计:一起设计简单的条件判断游戏
  3. 学习规划:用条件判断帮助制定学习计划
  4. 家务分工:用条件判断安排家务

思维训练

  1. 讨论:什么时候用"如果",什么时候用"那么"?
  2. 思考:生活中的哪些决策可以用编程描述?
  3. 实践:设计一个简单的自动回复系统
  4. 改进:如何让判断更精确?

温馨提示

  • 条件判断是编程的核心,要确保理解透彻
  • 注意缩进,这是Python的"语法"
  • 鼓励孩子多思考不同的判断条件
  • 通过实际应用加深理解

🏆 今日成就

完成了今天的学习,你:

🤔 理解了条件判断

⚖️ 掌握了比较运算符

🎮 编写了if语句程序

🔧 注意了代码规范

💡 培养了逻辑思维

挑战任务

  1. 设计一个天气提示程序
  2. 制作简单的年龄检查工具
  3. 创建游戏状态检查器
  4. 改进现有的判断程序

🌟 编程心法

编程是逻辑的艺术
if是决策的开始
条件是指挥棒
比较是尺子
布尔是裁判
缩进是纪律
从简单的如果开始
走向复杂的智能
每一步判断
都是思维的训练
每一个条件
都是逻辑的体现

记住:学会条件判断,你的程序就有了"大脑",能根据情况做出决策。这是从简单脚本到智能程序的第一步!


第21课结束。你现在已经掌握了条件判断的基础!

实践任务:

1. 设计天气提示程序

2. 制作年龄检查工具

3. 创建状态监控器

4. 改进判断逻辑

下节课,让我们学习二选一的智慧,让程序总有回应!

第22课见!🤔