选择结构又称为分支结构,是根据给定的条件是否成立来决定程序的执行流程。
下面让我们根据几个例题来了解Python中的选择结构:
第1关:奇偶性判断
任务描述
本关任务:从键盘输入一个整数,判断其奇偶性。
测试说明
平台会对你编写的代码进行测试:
测试输入: 4
预期输出: 4是偶数
测试输入: 5
预期输出: 5是奇数
代码解析
a = eval(input())
if a%2 == 0:
print(f"{a}是偶数")
else:
print(f"{a}是奇数")
第2关:计算分段函数值
任务描述
本关任务:编程,计算并输出下面分段函数的值(保留1位小数)。
测试说明
平台会对你编写的代码进行测试:
测试输入: 请输入x的值:-4
预期输出: 函数fx=2.0
代码解析
这里涉及到一些数学计算,所以我们先要导入math模块。然后这里我们按要求定义一个函数:
from math import *
def f(x):
if x < 0:
return (-x)*sin(pi/6)
else:
return sqrt(x**2+cos(pi/6))/5
x = eval(input("请输入x的值:"))
print("函数fx=",end = "")
print(round(f(x),1))
第3关:计算BMI值
任务描述
本关任务: 身体质量指数BMI是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准,等于体重w(kg)除以身高h(m)的平方,BMI=w/(h^2)。
成人的BMI数值与胖瘦关系如下。 偏瘦:BMI<18.5 正常:18.5≤BMI<25 偏胖:25≤BMI<28 肥胖:28≤BMI<32 严重肥胖:≥32
编写一个程序,根据输入的体重和身高计算他的BMI值,并输出胖瘦提示信息。
测试说明
平台会对你编写的代码进行测试:
测试输入:
请输入您的体重(kg):50
请输入您的身高(m):1.7
预期输出: 偏瘦
代码解析
同样我们也可以定义一个BMI函数:
def BMI(w,h):
bmi = w/(h**2)
if bmi < 18.5:
return "偏瘦"
if 18.5 <= bmi < 25:
return "正常"
if 25 <= bmi <28:
return "偏胖"
if 28 <= bmi < 32:
return "肥胖"
else:
return "严重肥胖"
w = eval(input("请输入您的体重(kg):"))
h = eval(input("请输入您的身高(m):"))
print(BMI(w,h))
第4关:计算三角形面积
任务描述
本关任务:编程,根据边长计算三角形面积
从键盘输入三个数,判断是否能构成三角形的三边. 如果能则计算三角形的面积,根据三边计算三角形面积公式如下:
其中,p=(a+b+c)/2
如果不能构成三角形则输出提示信息。 a、b、c能构成三角形三边必须满足以下两个条件: (1)都是正数。 (2)任意两边之和大于第三边。
测试说明
平台会对你编写的代码进行测试:
测试输入:
请输入实数a:3
请输入实数b:4
请输入实数c:5
预期输出: 三角形面积为:6.00
测试输入:
请输入实数a:6
请输入实数b:4
请输入实数c:11
预期输出: 6、4、11不能构成三角形!
测试输入:
请输入实数a:-9
请输入实数b:4
请输入实数c:2
预期输出: 有负数,不能构成三角形!
代码解析
这里我们一定要把所有的情况都讨论清楚:
from math import *
a = eval(input("请输入实数a:"))
b = eval(input("请输入实数b:"))
c = eval(input("请输入实数c:"))
if a<0 or b<0 or c<0:
print("有负数,不能构成三角形!")
else:
if a+b<c or b+c<a or c+a<b:
print(f"{a}、{b}、{c}不能构成三角形!")
else:
p = (a+b+c)/2
s = sqrt(p*(p-a)*(p-b)*(p-c))
print("三角形面积为:{:.2f}".format(s))