内容正文:
2.2 做出判断的分支(2)
教科版必修一《数据与计算》第二单元第2课时
活动:利用分支语句分性别计算最适宜运动心率
男性和女性的体能不同,其实男性和女性的公式也有所不同
男性最适宜运动的心率=(220-年龄-安静心率)*(60%~80%)+安静心率
女性最适宜运动的心率=(210-年龄-安静心率)*(60%~80%)+安静心率
思考:如何修改程序,可以实现根据性别输出结果?
活动:利用分支语句分性别计算最适宜运动心率
程序中可以使用
if分支语句实现分支结构
(n=220
gender==“male”
分支结 构
(n-age-HRrest)*0.6+HRrest
(n-age-HRrest)*0.8+HRrest
语句或语句组
分支语句
if分支语句—>根据不同的条件判断来决定程序执行的走向
语句或语句组A
语句或语句组B
if 条件:
语句或语句组
单分支
if 条件:
语句或语句组A
else:
语句或语句组B
双分支
分支语句
程序中需要根据不同的条件判断来决定程序执行的走向时,可以使用if分支语句实现,格式如下
if 条件:
语句或语句组
单分支
缩进一个Tab或四个空格
冒号不可少且英文状态
if 条件:
语句或语句组A
else:
语句或语句组B
双分支
字母小写
else后面不加条件
练习
练习1
下列程序运行后,变量max的值是( )
A.5 B.10 C.5和10 D.其他
B
a=5
b=10
max=a
if b>max:
max=b
单分支
if 条件:
语句或语句组
练习
练习2
运行以下 Python程序段,结果是( )
A、Python B、C++ C、Welcome D、 True
B
name="C++"
if name=="Python":
print("Welcome")
else:
print(name)
双分支
if 条件:
语句或语句组A
else:
语句或语句组B
分支语句示例
一个简单的例子:用分支判断飞船能否升空
关系表达式
关系运算符
当关系表达式成立时值为真(True),不成立为假(False)
例如:9>=7.9 其值为True
23==24 其值为False
运算符 == > >= < <= !=
含义 等于 大于 大于等于 小于 小于等于 不等于
关系表达式是用关系运算符连接起来的式子
练习
1、在Python中,设a=2,b=3,表达式a>b and b>=3的值是( )
A、1 B、-1 C、True D、False
2、在Python中,设a=2,b=3,表达式a>bor b>=3值是( )
A、1 B、0 C、True D、False
3、在Python中,设a=2,b=3,表达式not(a>b)的值是( )
A、1 B、0 C、True D、False
D
C
C
活动:利用分支语句分性别计算最适宜运动心率
age=float(input(“请输入年龄=”))
HRrest=float(input(“请输入安静心率=”))
gender=input(“请输入male或female:”)
if____________________________:
____________________________
else:
______________________________
low=(n-age-Hrrest)*0.6+HRrest
high=(n-age-HRrest)*0.8+HRrest
print(“最适宜的运动心率:”,low,”~”,high)
是
否
gender==”male”
(n=220
gender==”male”
(n=220
(n=210
分支语句
假如你是教练,需要根据真实测量到的运动心率以及最适宜的运动心率范围,给出相应的提示
如果真实心率低于146.0,提示运动心率太低
否则高于146.0并且低于169.0,提示运动心率正常
否则,提示运动心率太高
三个分支……
分支语句
if 条件1:
语句或语句组A
elif 条件2:
语句或语句组B
……
elif 条件N:
语句或语句组N
else:
语句或语句组N+1
多分支
活动
请将程序代码补充完整,并调试运行。根据真实运动心率和计算得出的最适宜运动心率,给出相应的提示
age = float(input("请输入年龄="))
HRrest = float(input("请输入安静心率="))
gender = input("请输入male or female:")
real = ①(input("请输入真实运动心率"))
if gender == "male" :
n = 220
else:
n = 210
low = (n-age-HRrest)*0.6 + HRrest
high = (n-age-HRrest)*0.8+HRrest
print("最适宜的心率是:", low, "-", high)
if ②:
print(“运动心率太低,建议平时培养良好的作息和饮食习惯" )
③ low<real<high:
print(“运动心率正常,继续保持")
else:
print(“运动心率太高,建议减低运动量")
float
real<low
elif
巩固练习
1、在Python中,描述x、y中存在一个小于z的正确的表达式是( )
A、x<z and y<z B、x<z or y<z C、x+y<z D、x<y<z
2、有两个条件P、Q,只要有一个条件为真时,结果一定为真的表达式是( )
A、not P B、P and Q C、P or Q D、not P and not Q
3、下面代码执行时,当输入17,输入结果是( )
num=int (input(“请输入感冒指数: “"))
if 0<=num<=6:
print(“少发")
elif 7<=num<=19:
print(“较易发”)
elif 20<=num<=30:
print("易发”)
elif 31<=num<=61:
print(“极易发”)
else:
print(“指数值不正确“)
A、“少发” B、“较易发” c、“易发” D、“极易发
B
C
B
巩固练习
4、(python)输入a、b两个整数,如果a为大数,则进行交换,然后分别输出大数、小数的值。
a = int(input("请输入a:"))
b = int(input("请输入b:"))
if ① : #如果a为大数
a , b = b , a
print("大数是",②,"小数是",③)
a>b
b
a
单分支
if 条件:
语句或语句组
巩固练习
2、(python)下面是一段根据飞船速度判断飞船能否升空的程序:当飞船速度v>=7.91千米/秒时,输出“飞船成功飞行!”;否则输出“飞船不能升空!”。
v = ① (input("请输入速度(千米/秒):"))
if ② :
print("飞船成功飞行! ")
③ :
print("飞船不能升空! ")
双分支
if 条件:
语句或语句组A
else:
语句或语句组B
float
v>=7.91
else
巩固练习
6、(python)求解如下分段函数的值。
x = float(input("请输入x的值:"))
if ①:
y = -2*x-4
② x < 10:
y = (x+2)**0.5
else:
y = 2**(x-1)
print(③)
多分支
if 条件1:
语句或语句组1
elif 条件2:
语句或语句组2
.......
else:
语句或语句组n
小结
小结
感谢观看~
$