第四课:程序的分岔路 – 条件判断 if 语句
- 时长: 90 分钟
- 教学目标:
- 理解为什么程序需要做“判断”或“选择”。
- 学习比较大小和是否相等的符号(关系运算符)。
- 认识
True
(真) 和False
(假) 这两种特殊的值(布尔值)。 - 学会使用
if
语句,让程序在条件满足时执行特定的代码。 - 再次强调写代码时的“缩进”非常重要,它决定了哪些代码是一组的。
课程内容
1. 复习与引入 (10 分钟)
- 复习: 快速回顾变量、数据类型、运算符和字符串操作。
- 提出问题: 老师提问:“我们现在可以计算、可以处理文字。但是,如果我想让程序判断一个同学考试分数是不是及格(比如大于等于 60 分),如果是及格就表扬他,如果不及格就不说话,怎么办?”
- 引出条件判断: 程序不能总是从头到尾一条直线地执行。有时候,程序需要根据某个条件来决定下一步走哪条路,是执行这段代码,还是跳过它。这就是条件判断,也叫分支结构。用红绿灯、考试及格/不及格等生活中的例子来比喻。
2. 比较大小和是否相等 – 关系运算符 (15 分钟)
- 作用: 关系运算符用来比较两个东西(数字、字符串等)的大小或者是否相等。
- 结果: 比较的结果只有两种可能:是对的(真)或不对的(假)。这两种结果叫做布尔值,用
True
(真) 和False
(假) 表示。 - 关系运算符:
>
:大于<
:小于>=
:大于等于<=
:小于等于==
:等于(注意是两个等号,一个等号是赋值!)!=
:不等于
- 演示: 使用这些运算符进行比较,并打印结果以及结果的类型 (
bool
)。a = 10 b = 20 print(a > b) # False print(a < b) # True print(a >= 10) # True print(b <= 15) # False print(a == b) # False print(a != b) # True print(type(a > b)) # <class 'bool'> # 字符串也可以比较,按照字典顺序 print("apple" > "banana") # False print("cat" == "Cat") # False (区分大小写) print("dog" != "cat") # True
- 动手实践: 学生尝试比较不同的数字、变量、字符串,预测结果,然后运行代码验证。
3. 如果…就… – if 语句 (20 分钟)
if
的作用:if
语句用来判断某个条件是否成立(是否为True
),如果条件成立,就执行它后面跟着的一段代码;如果条件不成立(为False
),就跳过这段代码。- 语法:
if 条件表达式: # 如果条件表达式的结果是 True,就执行这里的代码 # 注意:这里的代码需要缩进! print("条件成立!") print("这是 if 代码块里的另一行") # 这行代码没有缩进,它不属于 if 代码块,无论条件是否成立都会执行 print("程序继续运行...")
- 重点强调:
条件表达式
:放在if
后面的,它的结果必须是True
或False
(通常是一个关系运算的结果)。- 冒号
:
:if
行的末尾必须有一个冒号:
。 - 缩进: 跟在
if
行下面的,并且有相同缩进的代码,才属于if
语句的“代码块”。缩进通常是 4 个空格。Python 就是靠缩进来区分代码块的。
- 演示: 编写简单的
if
语句程序,演示条件为True
时执行代码块,条件为False
时跳过代码块。 特意演示错误的缩进,让学生知道会出错。score = 85 if score >= 60: print("恭喜你!") print("考试及格了!") # 这两行都在 if 块里,因为它们缩进了 print("程序结束。") # 改变分数,再看看 score = 55 if score >= 60: print("恭喜你!") # 这行不会被打印 print("考试及格了!") # 这行也不会被打印 print("程序结束。")
- 动手实践: 学生修改代码中的分数,观察
if
语句块的执行情况。 尝试在if
块里写多行代码。
4. 让程序根据你的输入做判断 (15 分钟)
- 结合
input()
: 我们可以获取用户的输入,然后用if
语句根据用户的输入内容做判断。 - 重要提醒: 从
input()
获取的数据是字符串!如果要做数字比较,记得先用int()
或float()
转换类型。 - 演示:
age_str = input("请输入你的年龄:") age = int(age_str) # 转换为整数 if age >= 18: print("你已经成年了。") print("是一个大孩子了!") print("感谢使用!") # 另一个例子:判断输入的数字是否为正数 num_str = input("请输入一个数字:") num = float(num_str) # 转换为小数类型 if num > 0: print("你输入的是一个正数。")
- 动手实践: 学生编写程序,询问用户一个数字,判断这个数字是否大于 100,如果大于就打印一句话。 编写程序,询问用户一个名字,如果名字是“爱丽丝”,就打印一句特别的欢迎语。
5. 课堂练习 (15 分钟)
让学生独立完成以下练习:
- 练习 1: 编写一个程序,询问用户今天的温度(整数),如果温度高于 30 度,就打印“今天真热啊!”
- 练习 2: 编写一个程序,询问用户最喜欢的颜色,如果用户输入的是“蓝色”,就打印“蓝色是天空的颜色,真美!”
- 练习 3: 编写一个程序,询问用户一个数字,判断这个数字是否是偶数(提示:使用取余运算符
%
和== 0
),如果是偶数,就打印“这是一个偶数”。# 在这里写你的代码 num_str = input("请输入一个整数:") # TODO: 转换为整数 # TODO: 判断是否是偶数 (能被2整除余数为0) # TODO: 如果是偶数,打印提示信息
6. 总结与提问 (10 分钟)
- 回顾: 回顾本节课内容:条件判断的作用,关系运算符,布尔值 (
True
,False
),if
语句的语法和执行流程,缩进的重要性,以及如何结合input()
使用if
。 - 提问:
7 == 7
的结果是True
还是False
?8 != 8
呢?- 写
if
语句时,条件后面的冒号能少吗? if
语句后面的代码块有什么特点(在格式上)?- 如果
if
后面的条件是False
,那么缩进的代码会执行吗?
- 答疑: 回答学生的问题。
7. 布置课后作业 (5 分钟)
- 作业 1: 编写一个程序,询问用户的年龄,如果年龄大于等于 18 岁,就打印“你已经成年了。”
- 作业 2: 编写一个程序,询问用户一个数字,如果这个数字小于 0,就打印“这是一个负数。”
- 作业 3: (选做) 编写一个程序,询问用户的名字,如果名字的第一个字母是“A”(不区分大小写),就打印“你的名字以 A 开头,真棒!”(提示:使用字符串索引
[]
和.upper()
或.lower()
)。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)