内容正文:
用分支结构控制计算
教学目标
了解程序的分支结构
理解Python语言程序中分支结构的功能
会运用分支结构解决简单的问题
会运用日期函数显示日期、星期等内容
在解决问题的过程中,我们常常需要对事物进行判断和选择,这时就要用到分支结构。
分支结构的特点:逻辑判断或数值比较
分支结构的关键:设置合适的判断条件与合理的执行支路
分支结构:
单分支if语句
双分支if语句
单分支if语句
格式:
If <条件表达式>:
<语句A>
执行过程:如果<条件表达式>为真,则执行<语句A>,然后继续往下执行;如果<条件表达式>为假,则不执行<语句A>,继续往下执行。
注意:单分支if语句的执行命令<语句A>以缩进为标志。通常在编写程序时,按键盘上的“Tab”键实现语句的缩进。
单分支if语句的执行过程流程图
条件表达式
语句A
Y
N
学习任务
张明和社团部的同学在某网络购物平台上看到某种笔记本搞优惠活动,活动规定:一次性购买5本或以下不打折;一次性购买6本或以上、10本或以下打九折;一次性购买11本或以上打八折。试编写程序,根据笔记本的售价和张明购买笔记本的数量,计算购买笔记本需付的总金额。
(1)问题分析
上述“计算网购笔记本总金额”问题给出的条件:
一次性购买5本或以下不打折;一次性购买6本或以上、10本或以下打九折;一次性购买11本或以上打八折
需要解决的问题:
计算购买笔记本总金额
解决问题的方法和步骤:
设要购买的单价为每本P元、数量为S本、折扣为J、总价为T;根据数量进行打折,九折(总价乘以0.9),八折(总价乘以0.8);计算总价T=P*S*J
如果S<=5,则J=1.0
如果6<=S<=10,则J=0.9
如果S>=11,则J=0.8
(2)算法设计
开始。
输入S和P的值
如果S<=5,则J=1.0
如果6<=S<=10,则J=0.9
如果S>=11,则J=0.8
T=P*S*J
输出T的值
结束
(3)流程图
开始
输入S和P的值
S<=5?
J=1.0
6<=S<=10?
Y
N
S>=11?
J=0.9
Y
J=0.8
Y
N
N
T=P*S*J
输出T的值
结束
(4)程序代码
根据前面设计的算法,程序如下:
S=input(“请输入购买笔记本的数量(本):”)
S=int(S)
P=float(input(“请输入笔记本的单价(元/本):”))
If S<=5:
J=1.0
If S>=6 and S<=10:
J=0.9
If S>=11:
J=0.8
T=P*S*J
Print(“总金额为”,T,”元”)
(5)程序调试
输出结果为:
请输入购买笔记本的数量(本):10
请输入笔记本的单价(元/本):5
总金额为45.0元
双分支if语句
格式
If <条件表达式>:
<语句A>
Else:
<语句B>
执行过程:如果<条件表达式>为真,则执行<语句A>,然后继续往下执行;如果<条件表达式>为假,则执行<语句B>,然后继续往下执行。
注意:双分支if语句的执行命令<语句A>和<语句B>以缩进为标志。
双分支if语句的执行过程流程图
条件表达式
语句A
Y
N
语句B
学习任务
张明在某网络购物平台上看到三种不同的笔记本,优惠金额各不相同,笔记本A每本优惠a元,笔记本B每本优惠b元,笔记本C每本优惠c元。试编写程序,根据每种笔记本的优惠金额,计算笔记本优惠金额的最大值。
(1)问题分析
求“网购笔记本优惠金额最大值”需要解决什么问题?
求出三个优惠金额的最大值
解决问题的方法和步骤是怎样的?
对于输入的三个数a,b,c,设其中的最大值为m,可先找出a和b中较大的值,把较大值赋予m;然后再将m与c比较,把较大值赋予m,从而使m的值为a,b,c三个数中的最大值。
(2)算法设计
开始。
输入三个数a,b,c。
如果a>b,则m=a,否则m=b。
如果c>m,则m=c。
输出m的值。
结束。
(3)流程图
开始
输入a,b,c
a>b?
m=a
Y
m=b
N
c>m?
Y
m=c
输出m
结束
程序代码
a=input(“请输入笔记本A的优惠金额(元):”)
a=float(a)
b=input(“请输入笔记本B的优惠金额(元):”)
b=float(b)
c=input(“请输入笔记本C的优惠金额(元):”)
c=float(c)
if a>b:
m=a
else:
m=b
if c>m:
m=c
print(“最大优惠金额为”,m,”元”)
程序调试
调试并运行,根据提示输入三种笔记本的优惠金额a,b,c的值,输出结果为:
请输入笔记本