4.2.3 多分支结构:if-elif-else语句
Python中用if-elif-else语句来表示多分支结构,格式如下:
多分支结构流程图如图4-6所示。
图4-6 多分支结构流程图
用多分支结构对案例4-2的空气质量判断代码进行修改,可写成:
与案例4-2的代码相比较,将案例4-2的第二个及后面的if改成了elif和else,在写条件时,也可将35<=PM<75简写成PM<75,原因是elif指的是去除if中限定的PM<35范围,剩下的范围则只能是PM>=35,所以elif中的条件PM<75中其实还有一个隐含的条件PM>=35,实质是条件范围是指35<=PM<75。
【案例4-3】 身体质量指数。
随着生活水平的提高,人们越来越关注“身体质量”,身体质量指数(Body Mass Index,BMI)是国际上常用来衡量人体肥胖程序和是否健康的重要标准。BMI通过人体体重和身高两个数值获得相对客观的参数,并用这个参数所处范围来衡量身体质量。参考标准如表4-1所示。
BMI的定义:
BMI=体重/身高
其中,体重的单位为kg,身高的单位为m。例如,一个人的身高为1.8 m,体重为80 kg,则他的BMI值为80/1.82≈24.69,按国际标准为正常,按国内标准为偏胖。
表4-1 BMI分类
编写根据输入的身高和体重计算BMI值的程序,同时输出国际和国内的BMI指标建议值。
案例分析:
·输入数据:需要接收两个输入的数据,分别赋值给表示身高和体重的变量。
·数据处理:将输入的数据按BMI公式进行计算,并将结果赋给变量。
·计算结果判断:利用多分支结构对计算结果按照表4-1所示的分类标准进行分类。
·输出结果:将分类结果按格式进行输出。
程序编写时可以将两个判断标准分开进行,也可以将两个判断标准融合在一起进行。
BMI值各处独立判断,代码如下:
BMI值融合在一起,代码如下:
两种代码相比较而言,第一种代码的可读性更好,代码清晰明了,容易调试和修改。第二种代码虽然行数更少,但是相对而言难以理解。对于程序设计来说,程序的简洁性和可读性更为重要,因此推荐第一种写法。