(共23张PPT)
4.3运用选择结构描述问题求解过程
目 录
PART 01
单分支 if 语句
PART 02
双分支 if 语句
PART 03
if 语句的嵌套
PART 04
if…elif…else语句的应用
单分支 if 语句
1
单向判断:if…
如果…就…
单向分支 if语句
if(条件表达式):
语句A
那么,这段代码是如何实现的呢?
首先,第一行代码,用“=”对当前情况进行赋值:将钱包 1000 赋值给变量 money。
第二步,确定 if 条件: 如果钱包 money 的值>=1000, 就执行冒号后的下一行命令。
第三步,用 print()命令打印出结果, 阿宝带悍娇虎去吃日料,带上钱,带上女朋友。
代码片段1-1
如果钱包里有1000块钱,
阿宝 就带悍娇虎 去吃日料。
在 Python 中,空格不叫空格,而是叫缩进。缩进是一种语法规则,它会帮助 Python 更好的分清代码结构与层次。
此时,被缩进的所有内容被称为 if 语句内的代码块。这就表示: 如果满足 if 条件,计算机就会执行 if 语句内的代码块。(缩进的所有内容)
缩进
A:如果想用代码实现打印功能, 使用 if 语句
B:if 条件的含义是 如果…就
C:if 语句冒号后面的内容,不需要缩进
下面关于 if 语句的表述,哪个选项说法是正确的?
选择题
现在如果只有500块钱,阿宝还能带悍娇虎去吃日料吗?
当第一行赋值语句不满足 if 语句条件时,Python 就会这么思考:条件不满足,无法执行 if 语句内的代码块,从而直接跳过。
吃不了日料,
可以去吃 KFC 呀
也就是说,money 只有 500,没有满足 1000 的 if 条件,if 条件内的代码块无法执行, 自然就不去吃日料了。
那么,如果 money 达不到 1000,就去吃 KFC;money 达到 1000,就去吃日料。这样,在 Python 中如何实现呢?
双分支 if语句
双向判断:if…else…
2
Python 提供了 if…else…语句,让我们有了另一种选择。如果…不满足,就…
if…else…其实就是二选一,满足条件执行 if 里面的代码块,不满条件执行 else 代码块。
双分支 if语句
代码片段2-1
if(条件表达式):
语句A
else:
语句B
昨天晚上,小K 计划去锻炼,所以她打算了一下:
如果体重超过90斤,她就每天去跑步;如果体重不超过90斤,她就每天去散步。
下面我们做个题来巩固一下 if…else…的知识点:
巩固
练习
代码片段2-2
代码告一段落,我们在回到吃饭的问题上。如果此时钱包里的钱是 800 块钱, 悍娇虎说想去吃披萨,那这个问题应该怎么处理呢?
多向判断:if…elif…else
3
解决问题前,先梳理一下逻辑思路。
1.如果钱包里的钱多于 1000(包含1000),去吃日料;
2.如果钱包里的钱多于 800(包含800),去吃披萨;
3.如果钱包里的钱比 800 少,去吃 KFC。
这里就有了三个如果条件。
多向判断:if…elif…else
那么在判断 3 个和 3 个以上的条件是,我们就需要使用 Python 中if…elif…else…语句。
elif 与 if 本质一样,意思是否则如果, elif 后面直接写条件。
在上面代码中 money=999 会对下面 if elif else 条件逐渐尝试,看自己满足哪个条件,满足哪个条件,就执行哪个条件下的代码块。
今天晚上,小K 要加班了。
1.如果加班时间超过 10 点(包含10点),
小K 就打车回家
2.如果加班时间在 8 点-10 点之间(包含8点),小K 坐地铁回家
3.如果加班时间早于 8 点,小K 骑单车回家。
巩
固
练
习
代码片段3-1
if语句的嵌套(P79)
if 语句允许嵌套,即 if 语句中的语句A和语句B还可以是 if 语句。
在功夫熊猫里,每个人都是有段位的, 而段位是根据这个队员在团队的贡献值来确定的,阿宝的贡献值有 860。请你写出一段代码,判断阿宝的段位,代码需要满足如下条件:
1、如果贡献值大于等于 600,显示“特种作战人员”,在此前提下:
a.如果贡献值大于等于 800,显示“王者”。
b.如果贡献值小于 800,显示“黄金”。
2、如果贡献值小于 600,显示“普通作战人员”,在此前提下:
c.如果贡献值大于 400,显示“白银”。
d.如果贡献值小于等于 400,显示“青铜”。
那么像阿宝,他属于什么段位呢?
代码块1
代码块2
计算机执行的顺序就是:
(1)先给 contribution 赋值。
(2)因为 if 与 else 是二选一的关系, if 和 else 中的代码只会执行一个,要么执行代码块1,要么执行代码块2; contribution=860 满足if(contribution>=600)的条件,就进入代码块1中进行执行,执行 print('特种作战人员')。
(3)进入到代码块1, contribution=860去尝试代码块1中的条件,满足 contribution>800的条件,只能去执行代码块1中的 if,执行 print('王者')。
(4)执行 print('结束')。
A:赋值:contribution=760 print('结束')。
B:赋值:contribution=760 判断是否大于等于 600 执行 if 下的代码块 1 判断 是否大于800 不满足执行print('黄金') print('结束')。
C:赋值:contribution=760 判断是否大于等于 800 print('结束')。
请问,悍娇虎的贡献值只有 760,她的段位用程序执行的顺序是?
选择题
A.顺序结构 C.循环结构
B.选择结构 D.组合结构
1.下列哪种结构,可是实现程序的判断
随堂
练习
A.选择结构是算法的基本结构之一
B.任何的程序设计中都有选择结构
C.选择结构在程序设计起到对事物的判断与选择的作用
D .在Python程序设计语言中选择结构一般使用if语句实现。
2.有关选择结构的说法不正确的是( )。
A.if(条件表达式)后面不用加冒号:
B.执行过程中 if 条件表达式为真,执行语句A,为假则执行else后面的语句B
C.双分支if语句格式为
if:
语句A
else:
语句B
D.当语句A和B均由多个语句构成时,不用严格遵守相同的缩进
3.下列有关if双分支语句的说法正确的是( )
随堂
练习
没了