条件语句
引言
在前面的章节中,我们学习了顺序语句——程序按从上到下的顺序执行。但现实生活中,很多决定需要根据条件来做不同的选择。
想象一下:
- 如果下雨,就带伞;如果不下雨,就不带伞
- 如果温度高于30度,就开空调;否则就开窗
- 如果作业写完了,就可以玩游戏;否则就继续写作业
这些都需要判断一个条件,然后根据判断结果做不同的事情。在Python中,我们用条件语句来实现这种功能。
你知道吗? 🤔 在上一章,我们学习了CPU如何按顺序执行代码。但CPU不仅能按顺序执行,还能做逻辑判断!
- CPU可以比较两个数字的大小
- CPU可以判断一个条件是True还是False
- 根据判断结果,CPU可以决定执行哪一段代码
这就是条件语句的硬件基础!
这一章,我们将学习:
- 什么是条件语句
- if语句的基本用法
- if-else语句(两种选择)
- if-elif-else语句(多种选择)
- 嵌套if语句(条件中的条件)
- 复习数学比较大小的知识
- 用条件语句解决数学应用题
回顾:布尔值和比较运算
在第5章,我们学习了布尔值(True和False)和比较运算符。它们是条件语句的基础。
数学小知识 📐 在数学课上,我们学过比较两个数的大小:
- 大于:a > b (a比b大)
- 小于:a < b (a比b小)
- 等于:a = b (a和b相等)
- 大于等于:a ≥ b (a大于或等于b)
- 小于等于:a ≤ b (a小于或等于b)
Python中的比较运算符和数学中的符号很像,只是写法稍有不同!
比较运算符
让我们快速回顾一下:
# 等于 (数学中是 =,Python中是 ==)
print(5 == 5) # True
print(5 == 3) # False
# 不等于 (数学中是 ≠)
print(5 != 3) # True
print(5 != 5) # False
# 大于 (和数学一样)
print(10 > 5) # True
print(5 > 10) # False
# 小于 (和数学一样)
print(3 < 7) # True
print(7 < 3) # False
# 大于等于 (数学中是 ≥)
print(8 >= 8) # True
print(8 >= 5) # True
# 小于等于 (数学中是 ≤)
print(6 <= 10) # True
print(6 <= 6) # True
数学练习 📝 用Python比较以下数字的大小:
- 100 和 200 (答案: 100 < 200,所以100 < 200是True)
- 3.14 和 3.14159 (答案: 3.14 < 3.14159)
- -5 和 -10 (答案: -5 > -10,负数绝对值越大,数值越小)
注意 ⚠️
- 在数学中,我们用“=“表示相等
- 在Python中,“=“是赋值(把值给变量),”==“才是比较(判断是否相等)
- 这个区别非常重要!
布尔运算符
我们也学过如何组合多个条件:
# and(两个条件都满足)
age = 15
print(age >= 10 and age <= 18) # True(10到18岁之间)
# or(至少一个条件满足)
day = "周六"
print(day == "周六" or day == "周日") # True(是周末)
# not(取反)
is_raining = False
print(not is_raining) # True(不下雨)
数学中的“且“和“或“ 📐 在数学中,我们学过:
- 且(∧): 两个条件都满足 (对应Python的
and) - 或(∨): 至少一个条件满足 (对应Python的
or) - 非(¬): 取反 (对应Python的
not)
数学练习 📝
-
如果x > 5且x < 10,Python应该写成?
x > 5 and x < 10 -
如果x ≤ 0或x ≥ 100,Python应该写成?
x <= 0 or x >= 100
👨🏫 给家长的Tips
教学方法建议:
- 确保孩子理解比较运算符和布尔值
- 可以用生活中的例子练习:判断年龄、分数、温度等
- 重点强调:“==“是等于(比较),”=“是赋值(赋值)
- 可以在纸上画数轴,帮助孩子理解大于、小于的概念
知识点补充(针对家长):
- CPU有专门的比较指令(如CMP指令),用于比较两个数的大小
- CPU有逻辑运算指令(如AND、OR、NOT),用于组合条件
- 这些指令的结果都是布尔值(True/False),在CPU中用1和0表示
- 条件判断的底层原理:CPU根据比较结果(0或1)决定是否“跳转“到其他代码执行
如何给孩子讲解:
- 不需要深入CPU指令集的细节
- 重点让孩子理解:CPU可以比较数字,并根据结果做决定
- 可以用“如果温度>30度,就开空调“的例子来类比CPU的逻辑判断
if语句:最简单的条件判断
if语句的基本语法
if 条件:
# 条件为True时执行的代码
代码块
语法要点:
if后面跟着一个条件(布尔表达式)- 条件后面必须有冒号
:(英文冒号) - 要执行的代码必须缩进(通常用4个空格或1个Tab)
- 只有条件为True时,代码块才会执行
示例1:分数奖励
假设小明的Python成绩大于98分,就能获得一个霸王龙玩具:
# 设置分数
score = 99
# 判断分数是否大于98
if score > 98:
print("恭喜你!")
print("你获得了一个霸王龙玩具!")
print("程序结束")
输出结果:
恭喜你!
你获得了一个霸王龙玩具!
程序结束
如果分数不满足条件:
# 设置分数
score = 95
# 判断分数是否大于98
if score > 98:
print("恭喜你!")
print("你获得了一个霸王龙玩具!")
print("程序结束")
输出结果:
程序结束
可以看到,当条件不满足时,if语句内的代码不会执行,程序直接跳过。
示例2:判断奇数
# 输入一个数字
num = int(input("请输入一个整数:"))
# 判断是否为奇数(除以2余1)
if num % 2 == 1:
print(f"{num}是奇数")
print("判断结束")
给家长的小贴士:
- 解释什么是“奇数“:不能被2整除的数(除以2余1)
- 解释
%运算符:求余数- 让孩子尝试输入不同的数字,观察结果
练习1
题目:小明考试如果及格(分数≥60),爸爸奖励他一辆汽车(输出“gift: car“),如果不及格则没有奖励(输出“gift: none“)。
👉 点击查看答案
# 输入分数
score = int(input("请输入小明的考试分数:"))
# 判断是否及格
if score >= 60:
print("gift: car")
else:
print("gift: none")
注意:这个练习需要用到if-else语句,下面马上就会学到!
if-else语句:两种选择
当我们需要在两种情况中做选择时,使用if-else语句。
if-else的基本语法
if 条件:
# 条件为True时执行
代码块1
else:
# 条件为False时执行
代码块2
示例:
- 如果小明Python考试成绩大于98分,老师就奖励他一个小汽车
- 否则老师就罚他抄代码100遍
# 输入分数
score = int(input("请输入小明的Python成绩:"))
# 判断分数
if score > 98:
print("🎉 恭喜你!奖励一个小汽车!")
else:
print("😢 很遗憾,请抄代码100遍")
print("判断结束")
运行示例1(分数大于98):
请输入小明的Python成绩:100
🎉 恭喜你!奖励一个小汽车!
判断结束
运行示例2(分数不大于98):
请输入小明的Python成绩:95
😢 很遗憾,请抄代码100遍
判断结束
示例:用户登录验证
设定一个用户名和密码,用户输入用户名和密码都正确,打印“welcome“,否则输出“error“。
# 设定正确的用户名和密码
correct_username = "admin"
correct_password = "123456"
# 用户输入
username = input("请输入用户名:")
password = input("请输入密码:")
# 判断用户名和密码是否都正确
if username == correct_username and password == correct_password:
print("welcome")
else:
print("error")
给家长的小贴士:
- 解释为什么用
and而不是or(两个条件都要满足)- 可以让孩子故意输入错误的用户名或密码,测试程序
- 强调安全:实际程序中密码不会明文存储
示例:判断奇数和偶数
# 输入一个数字
num = int(input("请输入一个整数:"))
# 判断奇偶
if num % 2 == 0:
print(f"{num}是偶数")
else:
print(f"{num}是奇数")
练习2
题目:一张桌子5岁的男孩能推动,7岁以上的女孩能推动。根据输入的性别和年龄,判断是否能推动。
👉 点击查看答案
# 输入性别和年龄
gender = input("请输入性别(男/女):")
age = int(input("请输入年龄:"))
# 判断是否能推动(男孩且5岁,或女孩且大于7岁)
if (gender == "男" and age == 5) or (gender == "女" and age > 7):
print("能推动桌子")
else:
print("不能推动桌子")
另一种写法(嵌套if):
gender = input("请输入性别(男/女):")
age = int(input("请输入年龄:"))
if gender == "男":
if age == 5:
print("能推动桌子")
else:
print("不能推动桌子")
else: # 性别是"女"
if age > 7:
print("能推动桌子")
else:
print("不能推动桌子")
if-elif-else语句:多种选择
当需要在三种或更多情况中做选择时,我们使用if-elif-else语句。
if-elif-else的基本语法
if 条件1:
# 条件1为True时执行
代码块1
elif 条件2:
# 条件2为True时执行
代码块2
elif 条件3:
# 条件3为True时执行
代码块3
...
else:
# 所有条件都不满足时执行
代码块n
语法要点:
elif是else if的缩写- 可以有多个
elif else是可选的- 程序会从上到下检查条件,一旦某个条件满足,就执行对应的代码块,然后跳出整个if语句
示例1:成绩分级
从键盘输入小明的Python期末成绩:
- 当成绩为100分时,奖励一张出游机票
- 当成绩为[80-99]时,奖励一个iPhone
- 当成绩为[60-79]时,奖励一本参考书
- 其他时(低于60),什么奖励也没有
# 输入分数
score = int(input("请输入Python期末成绩:"))
# 判断分数等级
if score == 100:
print("🎉 完美!奖励一张出游机票!")
elif score >= 80: # 80-99分
print("👏 很棒!奖励一个iPhone!")
elif score >= 60: # 60-79分
print("👍 及格了!奖励一本参考书!")
else: # 低于60分
print("😢 继续努力,没有奖励...")
print("判断结束")
运行示例1(100分):
请输入Python期末成绩:100
🎉 完美!奖励一张出游机票!
判断结束
运行示例2(85分):
请输入Python期末成绩:85
👏 很棒!奖励一个iPhone!
判断结束
运行示例3(65分):
请输入Python期末成绩:65
👍 及格了!奖励一本参考书!
判断结束
运行示例4(50分):
请输入Python期末成绩:50
😢 继续努力,没有奖励...
判断结束
👨🏫 给家长的Tips
教学方法建议:
- 解释为什么
score >= 80不需要写成score >= 80 and score < 100- 因为如果score是100,第一个条件就满足了,不会继续检查
- 这种写法叫“短路“逻辑,效率更高
- 可以在纸上画数轴,标出不同分数段的位置
数学知识融入:分段函数 📐
在数学中,我们学过分段函数,就是一个函数在不同区间有不同的表达式。
例如,快递费的计算:
- 重量 ≤ 1kg:5元
- 1kg < 重量 ≤ 3kg:10元
- 重量 > 3kg:15元
这就是一个分段函数!用if-elif-else可以轻松实现!
数学练习:快递费计算 📝
# 输入快递重量(kg) weight = float(input("请输入快递重量(kg): ")) # 根据重量计算费用(分段函数) if weight <= 1: fee = 5 elif weight <= 3: # 注意:1 < weight ≤ 3 fee = 10 else: # weight > 3 fee = 15 print(f"快递费用为: {fee}元")数学小挑战 🌟
出租车计费也是分段函数:
- 3公里以内:起步价10元
- 3-10公里:每公里2元
- 10公里以上:每公里3元
你能写出计算出租车费用的代码吗?
👉 点击查看答案
# 输入里程数(km) distance = float(input("请输入里程数(km): ")) # 根据里程计算费用 if distance <= 3: fare = 10 elif distance <= 10: # 3 < distance ≤ 10 fare = 10 + (distance - 3) * 2 else: # distance > 10 fare = 10 + (10 - 3) * 2 + (distance - 10) * 3 print(f"出租车费用为: {fare}元")
数学应用题练习 📝
题目1:年龄分类 写一个程序,根据年龄输出人生阶段:
- 0-6岁:婴幼儿
- 7-12岁:小学生
- 13-15岁:初中生
- 16-18岁:高中生
- 19-22岁:大学生
- 23-60岁:成年人
- 60岁以上:老年人
👉 点击查看答案
# 输入年龄
age = int(input("请输入年龄: "))
# 判断人生阶段
if age <= 6:
print("婴幼儿 👶")
elif age <= 12: # 7-12岁
print("小学生 🎒")
elif age <= 15: # 13-15岁
print("初中生 📚")
elif age <= 18: # 16-18岁
print("高中生 🏫")
elif age <= 22: # 19-22岁
print("大学生 🎓")
elif age <= 60: # 23-60岁
print("成年人 💼")
else: # 60岁以上
print("老年人 👴")
示例2:周末活动计划
周末组织活动:
- 如果是晴天,就出去郊游
- 如果是阴天,就去参观动物园
- 如果是下雨天,就去室内游乐场
# 输入天气
weather = input("今天是什么天气?(晴天/阴天/雨天):")
# 根据天气决定活动
if weather == "晴天":
print("我们去郊游吧!")
elif weather == "阴天":
print("我们去参观动物园吧!")
elif weather == "雨天":
print("我们去室内游乐场玩吧!")
else:
print("输入错误,请重新输入!")
print("活动计划结束")
示例3:学生成绩等级
根据成绩判断等级:
- 100分:best
- 90-99分:very good
- 80-89分:good
- 60-79分:pass
- 低于60分:not pass
# 输入分数
score = int(input("请输入学生成绩:"))
# 判断等级
if score == 100:
print("等级:best 🌟")
elif score >= 90:
print("等级:very good 👍")
elif score >= 80:
print("等级:good 🙂")
elif score >= 60:
print("等级:pass 😐")
else:
print("等级:not pass 😞")
print("判断结束")
练习3
题目:根据用户输入的数字判断是奇数还是偶数。
👉 点击查看答案
# 输入数字
num = int(input("请输入一个整数:"))
# 判断奇偶
if num % 2 == 0:
print(f"{num}是偶数")
else:
print(f"{num}是奇数")
练习4
题目:根据指定的月份打印该月份所属的季节。(3-5月:春天,6-8月:夏天,9-11月:秋天,12-2月:冬天)
👉 点击查看答案
# 输入月份
month = int(input("请输入月份(1-12):"))
# 判断季节
if 3 <= month <= 5:
print("春天 🌸")
elif 6 <= month <= 8:
print("夏天 ☀️")
elif 9 <= month <= 11:
print("秋天 🍂")
else:
print("冬天 ❄️")
也可以用or写法:
month = int(input("请输入月份(1-12):"))
if month == 3 or month == 4 or month == 5:
print("春天 🌸")
elif month == 6 or month == 7 or month == 8:
print("夏天 ☀️")
elif month == 9 or month == 10 or month == 11:
print("秋天 🍂")
else:
print("冬天 ❄️")
嵌套if语句:条件中的条件
有时候,我们需要在一个条件判断内部再进行条件判断,这就是嵌套if语句。
嵌套if的基本语法
if 外层条件:
if 内层条件:
# 外层和内层条件都满足时执行
代码块1
else:
# 外层满足但内层不满足时执行
代码块2
else:
# 外层条件不满足时执行
代码块3
注意:每层if都要有自己的缩进!
示例1:活动计划(考虑工作日和天气)
活动计划的安排:
- 如果今天是工作日,则去上班
- 如果今天是周末,则外出游玩
- 同时,如果周末天气晴朗,则去室外游乐场游玩
- 否则去室内游乐场游玩
# 输入星期几和天气
day = input("今天是星期几?(1-7,1是周一):")
weather = input("今天天气如何?(晴天/其他):")
# 判断是工作日还是周末
if day in ["1", "2", "3", "4", "5"]:
print("今天是工作日,要去上班 😢")
else: # 周末(6或7)
print("今天是周末!🎉")
# 嵌套判断天气
if weather == "晴天":
print("天气晴朗,去室外游乐场玩!")
else:
print("天气不好,去室内游乐场玩!")
示例2:运动会决赛分组
学校举行运动会,百米赛跑跑入10秒内的学生有资格进决赛,根据性别分别进入男子组和女子组。
# 输入成绩和性别
time = float(input("请输入百米赛跑成绩(秒):"))
gender = input("请输入性别(男/女):")
# 判断是否有资格进决赛
if time < 10:
print("恭喜!你有资格进入决赛!")
# 嵌套判断性别分组
if gender == "男":
print("你被分到男子组 🏃♂️")
else:
print("你被分到女子组 🏃♀️")
else:
print("很遗憾,成绩未达标,不能进决赛")
给家长的小贴士:
- 解释“嵌套“的概念:一个if在另一个if里面
- 强调缩进的重要性:每层都有自己的缩进
- 建议先用自然语言描述逻辑,再转化为代码
练习5
题目:写一个简单的猜数字游戏。程序随机设定一个数字(可以先固定为7),用户输入猜测的数字,程序给出提示“太大了“、“太小了“或“猜对了”。
👉 点击查看答案
# 设定目标数字
target = 7
# 用户输入
guess = int(input("请输入你猜的数字(1-10):"))
# 判断大小
if guess == target:
print("🎉 恭喜你,猜对了!")
else:
if guess > target:
print("太大了!再试一次")
else:
print("太小了!再试一次")
print("游戏结束")
运行示例:
请输入你猜的数字(1-10):5
太小了!再试一次
游戏结束
请输入你猜的数字(1-10):9
太大了!再试一次
游戏结束
请输入你猜的数字(1-10):7
🎉 恭喜你,猜对了!
游戏结束
综合应用案例
案例1:计算周数和剩余天数
用户输入一个天数,可以输出包含多少周,以及剩余几天。
例如:
- 输入57天,打印“8 weeks and 1 day“
- 输入9天,打印“1 week and 2 days“
# 输入天数
days = int(input("请输入总天数:"))
# 计算周数和剩余天数
weeks = days // 7
remaining_days = days % 7
# 根据数量决定单复数
if weeks == 1:
week_str = "week"
else:
week_str = "weeks"
if remaining_days == 1:
day_str = "day"
else:
day_str = "days"
# 输出结果
print(f"{weeks} {week_str} and {remaining_days} {day_str}")
运行示例:
请输入总天数:57
8 weeks and 1 day
请输入总天数:9
1 week and 2 days
给家长的小贴士:
- 解释
//(整除)和%(求余)的区别- 强调英语中单数和复数的区别
- 这是一个综合练习,涉及运算、条件判断、字符串格式化
案例2:计算四位数数字之和
从键盘输入任意一个四位数,计算它四位数字相加的和。
# 输入一个四位数
num_str = input("请输入一个四位数:")
# 检查是否为四位数
if len(num_str) != 4:
print("输入错误!请输入一个四位数!")
else:
# 将字符串转换为数字
num = int(num_str)
# 分解每一位数字
# 方法1:用字符串切片
digit1 = int(num_str[0])
digit2 = int(num_str[1])
digit3 = int(num_str[2])
digit4 = int(num_str[3])
# 计算和
total = digit1 + digit2 + digit3 + digit4
print(f"四位数字之和为:{total}")
运行示例:
请输入一个四位数:1234
四位数字之和为:10
案例3:判断闰年
写出可以判定某一年是否是闰年的逻辑表达式。
闰年规则:
- 能被4整除但不能被100整除,或者能被400整除的年份
# 输入年份
year = int(input("请输入年份:"))
# 判断闰年
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print(f"{year}年是闰年 📅")
else:
print(f"{year}年不是闰年")
运行示例:
请输入年份:2024
2024年是闰年 📅
请输入年份:1900
1900年不是闰年
请输入年份:2000
2000年是闰年 📅
给家长的小贴士:
- 解释闰年的历史背景(为什么会有闰年)
- 强调逻辑运算符的优先级:
and优先于or- 可以让孩子计算自己出生年份是否是闰年
案例4:狗狗年龄换算
根据用户输入的狗狗的年龄得出相当于人的多少岁。
换算规则:
- 狗狗的前2年,第一年相当于人的10.5岁,第二年也相当于10.5岁
- 往后每一年相当于4岁计算
- 狗狗最长活20年
# 输入狗狗年龄
dog_age = float(input("请输入狗狗的年龄:"))
# 检查年龄是否合理
if dog_age < 0 or dog_age > 20:
print("狗狗的年龄应该在0-20岁之间!")
else:
# 计算相当于人的年龄
if dog_age <= 2:
# 前两年,每年10.5岁
human_age = dog_age * 10.5
else:
# 前两年21岁,往后每年4岁
human_age = 21 + (dog_age - 2) * 4
print(f"狗狗{dog_age}岁,相当于人类{human_age}岁")
运行示例:
请输入狗狗的年龄:1
狗狗1.0岁,相当于人类10.5岁
请输入狗狗的年龄:5
狗狗5.0岁,相当于人类37.0岁
案例5:找三个数中的最大值
用户输入三个数,输出最大的。
# 输入三个数
num1 = float(input("请输入第一个数:"))
num2 = float(input("请输入第二个数:"))
num3 = float(input("请输入第三个数:"))
# 找最大值
if num1 >= num2 and num1 >= num3:
max_num = num1
elif num2 >= num1 and num2 >= num3:
max_num = num2
else:
max_num = num3
print(f"最大的数是:{max_num}")
运行示例:
请输入第一个数:5
请输入第二个数:12
请输入第三个数:8
最大的数是:12.0
另一种写法(逐步比较):
num1 = float(input("请输入第一个数:"))
num2 = float(input("请输入第二个数:"))
num3 = float(input("请输入第三个数:"))
# 假设第一个数最大
max_num = num1
# 如果第二个数更大,更新最大值
if num2 > max_num:
max_num = num2
# 如果第三个数更大,更新最大值
if num3 > max_num:
max_num = num3
print(f"最大的数是:{max_num}")
给家长的小贴士:
- 两种方法各有优缺点,可以讨论哪种更好理解
- 第二种方法更容易扩展到更多数字
- 为第10章(List)铺垫:可以用list和max()函数简化
常见错误和调试
错误1:忘记冒号
# 错误:if后面没有冒号
if score > 60
print("及格了")
# 正确
if score > 60:
print("及格了")
错误2:缩进不正确
# 错误:缩进不一致
if score > 60:
print("及格了") # 2个空格
print("恭喜!") # 4个空格
# 正确:缩进一致
if score > 60:
print("及格了")
print("恭喜!")
错误3:赋值和比较混淆
# 错误:用=而不是==
if score = 100:
print("完美")
# 正确:用==比较
if score == 100:
print("完美")
错误4:条件顺序错误
score = 85
# 错误:顺序错了,永远无法判断到80-89
if score >= 60:
print("及格")
elif score >= 80:
print("良好")
elif score >= 90:
print("优秀")
# 正确:从高到低判断
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 60:
print("及格")
给家长的小贴士:
- 教孩子学会看错误信息(SyntaxError, IndentationError等)
- 使用print语句在关键位置输出中间结果,帮助调试
- 用简单的例子测试条件是否正确
条件表达式(三元运算符)
Python还提供了一种简洁的条件表达式,也叫三元运算符。
基本语法
结果1 if 条件 else 结果2
解释:如果条件为True,返回结果1;否则返回结果2。
示例:找出两个数中的较大值
# 传统写法
a = 10
b = 20
if a > b:
max_num = a
else:
max_num = b
print(f"较大的数是:{max_num}")
用条件表达式简化:
a = 10
b = 20
max_num = a if a > b else b
print(f"较大的数是:{max_num}")
练习6
题目:用条件表达式判断一个数是正数、负数还是零,并输出“正数“、“负数“或“零”。
👉 点击查看答案
num = float(input("请输入一个数字:"))
result = "正数" if num > 0 else "负数" if num < 0 else "零"
print(f"{num}是{result}")
注意:这种嵌套的三元表达式可读性较差,不建议过度使用。
综合练习:星期几判断器
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
# 输入第一个字母
first_letter = input("请输入星期几的第一个字母:").lower()
# 判断第一个字母
if first_letter == 'm':
print("星期一 Monday")
elif first_letter == 't':
# 需要判断第二个字母
second_letter = input("请输入第二个字母:").lower()
if second_letter == 'u':
print("星期二 Tuesday")
elif second_letter == 'h':
print("星期四 Thursday")
else:
print("输入错误!")
elif first_letter == 'w':
print("星期三 Wednesday")
elif first_letter == 'f':
print("星期五 Friday")
elif first_letter == 's':
# 需要判断第二个字母
second_letter = input("请输入第二个字母:").lower()
if second_letter == 'a':
print("星期六 Saturday")
elif second_letter == 'u':
print("星期日 Sunday")
else:
print("输入错误!")
else:
print("输入错误!")
运行示例:
请输入星期几的第一个字母:s
请输入第二个字母:a
星期六 Saturday
请输入星期几的第一个字母:t
请输入第二个字母:u
星期二 Tuesday
章节小结
我们学到了什么
- 条件语句:让程序能够根据不同情况做不同决定
- if语句:最简单的条件判断
- if-else语句:两种选择
- if-elif-else语句:多种选择
- 嵌套if语句:条件中的条件
- 条件表达式:简洁的三元运算符
重要语法回顾
| 语句结构 | 用途 |
|---|---|
if 条件: | 单一条件判断 |
if-else: | 两种选择 |
if-elif-else: | 多种选择 |
| 嵌套if | 复杂条件判断 |
编程技巧
- 缩进很重要:Python用缩进来组织代码块
- 条件顺序:在if-elif中,条件从上到下检查,满足即停止
- 冒号不能忘:if、elif、else后面都要有冒号
- 布尔运算:用and、or、not组合多个条件
- 调试方法:用print输出中间结果,帮助定位问题
下一步
在下一章(第8章),我们将学习循环语句(for和while),让程序能够重复执行某些操作。结合条件语句和循环,我们就能写出更强大的程序!
挑战练习
-
必做:
- 写一个程序,输入三个数,输出最小的数
- 写一个程序,输入年份和月份,输出该月有多少天
- 写一个程序,输入三角形的三边长,判断能否构成三角形
-
选做:
- 写一个简单的计算器,可以加减乘除
- 写一个石头剪刀布游戏
- 写一个温度转换器(摄氏度/华氏度/开尔文)
-
挑战:
- 写一个猜数字游戏,限制猜测次数(比如5次)
- 写一个登录系统,可以有注册、登录、修改密码功能
- 用Turtle库画一个图形,根据用户输入的数字决定画什么图形
加油!你已经学会让程序做决定的能力了!🎉