内容正文:
2.2 做出判断的分支
--分支结构
复习回顾
顺序结构
最简单的基本结构,按照自上而下的先后顺序依次执行程序语句。
A
B
比如:输入姓名年龄,输出姓名年龄
开始
结束
输入姓名
输出姓名、年龄
输入年龄
例:判断考试是否通过。
输入某学生信息技术考试成绩(0-100),判断考试是否通过。
如果成绩为60分及以上,则考试通过,输出pass;
如果成绩为60分以下,则考试不通过,输出fail。
score = int(input(“请输入考试成绩:”))
print(“pass”)
print(“fail”)
新知探究 - 分支语句
新知探究 - 单分支语句
if分支语句—>当程序中需要根据不同的条件判断来决定程序执行的走向时,可以用if分支语句实现。
单分支语句适用情境:当仅需要判断一种条件时。
基本格式如下:
if 条件:
语句或语句组
单分支
冒号不可少且英文状态
按enter键即可自动缩进
语句或语句组
如果
判断考试是否通过
score = int(input(“请输入考试成绩:”))
if score>=60:
print(“pass”)
if score<60:
print(“fail”)
新知探究 - 单分支语句
if 条件:
语句或语句组A
else:
语句或语句组B
双分支
冒号不可少且英文状态
否则
else后面不加条件
新知探究 - 双分支语句
双分支语句适用情境:当需要判断两种条件时。
按enter键即可自动缩进
语句或语句组A
语句或语句组B
基本格式如下:
score = int(input(“请输入考试成绩:”))
if score>=60:
print(“pass”)
if score<60:
print(“fail”)
新知探究 - 双分支语句
else:
判断考试是否通过
课堂练习
a=9
b=5
if a>b:
print(a)
else a<b:
print(b)
大家来找茬:以下代码有两处错误,请找出不对的地方并改正。
a=9
b=5
if a>b:
print(a)
else:
print(b)
if后面的执行语句要缩进
else后面不加条件
score = int(input(“请输入考试绩:”))
if score>=60:
print(“pass”)
if score<60:
print(“fail”)
关系表达式
新知探究 - 关系表达式
用关系运算符连接起来的式子,用于做条件判断。
关系运算符用于比较两个值的大小,结果为布尔值: True 或 False 。
当关系表达式成立时值为真(True),不成立时值为假(False)。
关系运算符 == > >= < <= !=
含义 等于 大于 大于等于 小于 小于等于 不等于
复习-- 关系运算符
新知探究 - 多分支语句
对于多分支语句的情况,Python语言通常使用if-elif-else语句来处理。
思考:满分为100,当分数不同时,我们想输出不同的评语,应该如何实现呢?
大于等于90,小于等于100,输出“优秀”;
大于等于70,小于90,输出“良好”;
大于等于60,小于70,输出“及格”;
大于等于0,小于60,输出“不及格,请继续努力”;
否则,输出“输入的分数有误”。
if 条件1:
语句体1
elif 条件2:
语句体2
……
elif 条件N:
语句体N
else:
语句体N+1
多分支
新知探究 - 多分支语句
多分支语句的执行流程
elif后面要加条件
否则如果
elif可以有多个
else后面不加条件
课堂活动
题目:满分为100,当分数不同时,我们想输出不同的评语,应该如何实现呢?
大于等于90,小于等于100,输出“优秀”;
大于等于70,小于90,输出“良好”;
大于等于60,小于70,输出“及格”;
大于等于0,小于60,输出“不及格,请继续努力”;
否则,输出“输入的分数有误”。
结合流程图理解多分支结构的执行顺序。
课堂活动
题目:满分为100,当分数不同时,我们想输出不同的评语,应该如何实现呢?
大于等于90,小于等于100,输出“优秀”;
大于等于70,小于90,输出“良好”;
大于等于60,小于70,输出“及格”;
大于等于0,小于60,输出“不及格,请继续努力”;
否则,输出“输入的分数有误”。
要求:用多分支语句将横线处的代码补全并上机运行。
score=int(input("请输入成绩:"))
if 90<=score <= 100:
print("优秀")
elif __________________:
print("良好")
_____ 60<=score<70:
print("及格")
elif _________________:
print(“不及格,请继续努力”)
else:
print("输入的分数有误")
70<=score<90
score>=70 and score<90
elif
0<=score<60
$