第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多分支
下节课你将学习:
- 如何处理多个可能的情况
- if-elif-else语句的用法
- 多条件判断的逻辑
- 制作能处理多种选择的程序
- 避免过长的if-else嵌套
预习思考:
- 如果有三种或更多选择怎么办?
- elif和else有什么区别?
- 如何合理安排多个条件的顺序?
💬 给家长的话
亲爱的家长:
今天孩子学习了if-else语句,这是编程中处理"二选一"决策的核心工具。通过这门课,孩子学会了让程序总能给出回应,不"沉默"。
孩子今天学会了:
- ✅ 掌握if-else语句的完整语法
- ✅ 理解"二选一"的逻辑思维
- ✅ 编写总有回应的程序
- ✅ 处理条件的对立情况
- ✅ 在实际问题中应用if-else
if-else的重要性:
| 概念 | 在编程中的应用 | 实际意义 | 思维培养 |
|------|---------------|---------|---------|
| 二选一 | 处理两种对立情况 | 决策能力 | 选择思维 |
| 完备性 | 总会有结果输出 | 完整性 | 周全思维 |
| 对立处理 | 处理"是"和"否" | 辩证思维 | 分析能力 |
| 错误处理 | 给出错误提示 | 容错能力 | 预见思维 |
您可以这样做:
生活应用:
- 日常决策:和孩子讨论生活中的"二选一"
- 游戏设计:设计简单的二选一游戏
- 学习规划:用if-else制定学习计划
- 习惯培养:用if-else建立好习惯
思维训练:
- 讨论:哪些情况适合用if-else?
- 思考:如何让二选一更合理?
- 实践:设计智能问答系统
- 改进:优化现有的判断逻辑
温馨提示:
- if-else让程序更友好,总有反馈
- 注意条件的对立性和完备性
- 鼓励孩子思考"否则"的情况
- 通过实际应用加深理解
🏆 今日成就
完成了今天的学习,你:
🎯 掌握了if-else语句
🔄 理解了二选一逻辑
💬 编写了总有回应的程序
🤔 培养了选择思维
🔧 解决了实际问题
挑战任务:
- 设计智能天气建议系统
- 制作简单登录验证程序
- 创建游戏胜负判断器
- 改进现有的决策程序
🌟 编程心法
编程是选择的艺术
if是开始
else是备选
条件是指挥棒
选择是智慧
总有回应是责任
不沉默是温柔
从二选一开始
走向复杂的决策
每一个选择
都是逻辑的体现
每一个分支
都是智慧的延伸
记住:学会if-else,你的程序就有了"礼貌",总能给用户回应。这是编写友好程序的第一步!
第22课结束。你现在已经掌握了二选一的智慧!
实践任务:
1. 设计登录验证系统
2. 制作天气建议程序
3. 创建游戏胜负判断
4. 改进决策逻辑
下节课,让我们学习多选一,处理更复杂的选择!
第23课见!🎲