内容正文:
项目8 Python选择控制语句
编程基础——Python语言 /// ///
身体质量指数(简称“体质指数”,英文简称BMI)是国际上常用的衡量人体肥胖程度和是否健康的重要标准,作为程序员的小白同学想利用Python选择控制语句编写一个健康小程序,以用于根据体重和身高来计算BMI,并根据中国BMI衡量标准输出BMI分类和相关疾病发病危险性提示信息。
体质指数(BMI)=体重(kg)÷身高的平方(m2)
任务15 体质指数判断——选择控制语句
任务描述
任务分析
编写一个根据体重和身高计算BMI值的程序,程序编写思路如下。
输入:体重值和身高值。
编程基础——Python语言 /// ///
处理:计算BMI值,根据BMI指标分类找到合适的类别。
输出:输出指标分类信息。
中国BMI衡量标准如表3-1所示。
编程基础——Python语言 /// ///
知识准备
在选择结构和循环结构中,程序是根据条件来执行代码的。Python中的条件是一个条件表达式,条件表达式的结果对应布尔型(bool)的两个值(True或False),True表示条件成立,False代表条件不成立。
当条件表达式的结果值不直接为True或False时,None、任何数据类型中的0、空字符串””、空元组()、空列表[]、空字典{}、空集合等都等价于False,其他值等价于True。
1.关系运算符
关系运算符用于比较两个操作数的大小关系。
3.1 条件的描述
编程基础——Python语言 /// ///
2.逻辑运算符
在Python中,逻辑运算就是将变量用逻辑运算符连接起来,并对其求值的运算过程。在Python程序中只能将and、or、not三种运算符用于逻辑运算。
3.成员运算符
Python的成员运算符用于确认指定的值是否为序列结构中的某个成员。
4.Python运算符优先级
在数学里加、减、乘、除等存在运算优先级的问题,在Python里也一样,Python运算符优先级顺序(由高到低)。
编程基础——Python语言 /// ///
1.单分支结构的if语句
格式如下:
3.2 选择结构
if 表达式:
语句块
当语句块中只有单条语句时,也可以写为如下格式:
if 表达式:单条语句
表达式为if语句的判断条件,以布尔值的形式判断if语句是否执行语句块,当表达式的值为True时,则执行语句块; 当表达式的值为False时,则不执行语句块。这种单分支结构的if语句的逻辑相当于汉语里的关联词语“如果……就…… ” ,其流程图如图3-1所示。
图3-1 单分支结构的if语句流程图
编程基础——Python语言 /// ///
2.双分支结构的if…else语句
在前面介绍的if语句中,并不能对条件不符合的内容进行处理,所以Python引入了另外一种条件语句if…else。
格式如下:
if 表达式:
语句块1
else:
语句块2
在双分支结构的if…else语句中,如果表达式的值为True,则执行语句块1,否则执行语句块2。双分支结构的if…else语句的流程图如图3-3所示。
图3-3 双分支结构的if…else语句流程图
编程基础——Python语言 /// ///
3.多分支结构的if…elif…else语句
在Python中,if…elif…else语句是一种十分强大的多分支结构条件语句,它可以对多种情况进行判断。语法格式如下:
if 表达式1:
语句块1
elif 表达式2:
语句块2
elif 表达式3:
语句块3
…
else:
语句块n
在上述多分支结构中,首先会判断表达式1,当表达式1的值为True时执行语句块1,当表达式1的值为False时再判断表达式2,当表达式2的值为Ture时执行语句块2,当表示式2的值为False时再判断表达式3,以此类推,直到找到满足条件的表达式。当所有表达式都不满足条件时,则执行else语句块。
编程基础——Python语言 /// ///
本任务涉及多重判断,我们将采用多分支结构的if…elif…else语句来实现本任务,程序流程图如图3-7所示。
任务实施
图3-7 计算BMI程序流程图
编程基础——Python语言 /// ///
了解print( )函数中file参数和flush参数的使用方法。
任务拓展
在本任务的分模块中实现了计算器的加法模块的功能。
任务总结
任务检测
(1)请根据本任务,将减法、乘法、除法模块的功能补全。
(2)请根据本任务,在计算除法时仅保留两位小数位。
编程基础——Python语言