内容正文:
粤教版普通高中教科书
信息技术 必修1
Python的选择结构
4.3运用选择结构描述问题求解过程
1
选择结构
在我们的生活和学习中处处充满了选择:
十字路口时如果红灯则停,如果绿灯则行
疫情期间进校门时如果戴口罩则进,否则不让进
……
在上述例子中,解决问题的过程中常常需要对事物进行判断和选择。在程序设计中,对应的结构就是使用选择结构if语句来实现判断和选择。
选择结构
选择结构
选择结构根据选择条件(即分支)的多少,可以分为以下三种:
单分支选择结构
if 条件表达式:
语句组
执行过程:语句组只有在条件表达式的值为真True时才会执行,否则为假False不执行
单分支选择结构的流程图
单分支选择结构 - 注意事项
if后面加空格后接条件表达式,条件表达式后一定要加冒号:
语句组前要有明显的缩进(空格,通常以1个Tab键即4个空格为一个缩进单位)。
同一个语句组的多行代码都要严格遵循相同的缩进(即空格个数相同)
语句组可以是一行代码,也可以是多行代码。
if 条件表达式:
语句组76页
实践探究:76页
某宝网站上进行促销活动,某种笔记本一次购买6本以上(含6本)10本以下(含10本)打9折,一次购买11本以上(包含11本)打8折。怎样编写程序计算总费用?
分析问题
设计算法
编写程序
调试程序
7
(1)分析问题
设购买笔记本的数量为s本,笔记本的单价为p元,折扣系数为j,总费用为t。根据题意,有:
如果s<6,则j=1.0;
如果6≤ s≤10,则j=0.9;
如果s≥11,则j=0.8;
又t=s×p×j,求出t的值即为所求的总费用。
8
(2)设计算法(小组探究)
根据上面对问题的分析,解决问题的算法描述如下:
①输入s,p的值;
②如果s<6,则j=1.0;
③如果6≤ s≤10,则j=0.9;
④如果s≥11,则j=0.8;
⑤t=s×p×j;
⑥输出t的值;
⑦结束。
流程图
9
(3)编写程序
s=input("请输入购买的笔记本的数量:")
s=int(s)
p=float(input("请输入笔记本的单价:"))
if s <6:
j=1.0
if s>=6 and s<=10:
j=0.9
if s>=11:
j=0.8
t=s*p*j
print("总费用为:","%.1f"%t,"元")
10
(4)调试程序
运行结果:
11
选择结构
双分支选择结构
双分支选择结构的流程图
格式:
if (条件表达式):
语句A
else:
语句B
if 满足条件:
做点什么
Else:
做点其它的
执行过程:
(1)如果条件表达式为真,则执行语句A,然后继续往下执行。
(2)如果条件表达式为假,则执行语句B,然后继续往下执行。
实践探究
某宝网站上进行促销活动,笔记本1、笔记本2和笔记本3每本分别优惠为a元、b元和c元,编程输出其优惠价的最大值。
分析问题
设计算法
编写程序
调试程序
14
(1)分析问题
输入三个数a、b和c,设其中最大数为m,先找出a和b中较大的数给m,然后将m与c比较,从而找出三个数中最大的数。
15
(2)设计算法
根据上面的分析,设计出如下算法:
①输入三个数a,b,c;
②如果a>b,则m=a;否则m=b;
③如果c>m,则m=c;
④输出m的值;
⑤结束。
16
(3)编写程序
print ("请输入三种笔记本的优惠价(元):")
a,b,c=input().split()
a=float(a)
b=float(b)
c=float(c)
if a>b:
m=a
else:
m=b
if c>m:
m=c
print("优惠价最大的为:",m,"元")
17
(4)调试程序
18
选择结构
if...elif...else语句的应用
格式:
if (表达式1):
语句1
elif(表达式2):
语句2
......
elif(表达式n):
语句n
else:
语句n+1
if 满足条件1:
做事情1
elif满足条件2:
做事情2
……
else:
做点其它的
20
多分支选择结构
执行过程:条件表达1为真True执行语句组1,否则依次判断表达式2、3……N,只要其中有一个为真True,即执行对应的语句组并不再接着进行判断,如果所有表达式都为假False,执行else后的语句组。当有三个及以上的判断选择时,可以使用多分支选择结构。
执行过程:
22
多分支选择结构举例
根据用户的成绩输出对应的等