1. 条件语句介绍
条件语句,即通过判断条件是否成立,根据条件表达式的结果,控制不同代码块的执行。
1.1 条件表达式
条件表达式由运算符和操作数组成,以“a<4”为例,其中,“a”和“4”都为操作数,“<”为运算符。
判断条件可以是具有布尔属性的任意元素,包括数据、变量、由变量与运算符组成的表达式。若其布尔属性为“True”,条件成立;若为“False”,则条件不成立。
条件表达式常用的运算符如下表所示:
分类 | 运算符 | 数学符号 | 含义 |
算术运算符 | + | + | 加法 |
- | - | 减法 | |
* | × | 乘法 | |
/ | ÷ | 除法,结果为浮点数 | |
// | 除法,结果为向下取整的整数 | ||
% | 取余 | ||
** | 幂运算 | ||
关系运算符 | == | 等于 | |
!= | 不等于 | ||
> | 大于 | ||
< | 小于 | ||
>= | 大于等于 | ||
<= | 小于等于 | ||
成员运算符 | in | 存在/属于 | |
not in | 不存在/不属于 |
Python中的成员运算符用于检查一个值是否存在于某个序列中,如列表、元组、集合、字符串或字典。
Python中的成员运算符有两种,分别是in和notin。in运算符用于判断某个值是否存在于指定的序列中。如果存在,返回True;否则,返回False。notin运算符与in运算符相反,用于判断某个值是否不存在于指定的序列中。如果不存在,返回True;否则,返回False
Python 支持通过保留字“not”、“and”和“or”对判断条件进行逻辑组合。
- not:表示单个条件的“否”关系。若“条件”的布尔属性为“True”,则“not 条件”的布尔属性为“False”;若“条件”的布尔属性为“False”,则“not 条件”的布尔属性为“True”。
- and:表示多个条件之间的“与”关系。当且仅当使用and 连接的所有条件的布尔属性都为“True”时,逻辑表达式的布尔属性为“True”,否则为“False”。
- or:表示多个条件之间的“或”关系。当且仅当使用or 连接的所有条件的布尔属性都是“False”时,逻辑表达式的布尔属性为“False”,否则为“True”
1.2 选择结构
条件语句可分为三种形式:单分支选择结构、双分支选择结构和多分支选择结构。
1、单分支选择结构
单分支选择结构的语法格式和执行流程如下:
if 判断条件:
代码块1
代码块2
若if 语句中的判断条件成立,则依次执行代码块1 和代码块2;否则,直接跳过if 语句后的代码块1,执行代码块2。
2、双分支选择结构
双分支选择结构的语法格式和执行流程如下:
if 判断条件:
代码块1
else:
代码块2
若if 语句中的判断条件成立,则执行代码块1;若判断条件不成立,则执行代码块2。
3、多分支选择结构
多分支选择结构的语法格式和执行流程如下:
if 判断条件1:
代码块1
elif 判断条件2:
代码块2
...
elif 判断条件n:
代码块n
else:
代码块n+1
若if 语句中的判断条件1 成立,则执行代码块1。
若判断条件1 不成立,则依次对elif 语句中的判断条件进行判断,当出现成立的判断条件,则执行该条件对应的代码块。
若if 语句和elif 语句中的判断条件皆不成立,则执行代码块n+1。
2. 例程分析
2.1 代码
height=float(input("height(m): "))
weight=float(input("weight(kg): "))
bmi= weight/(height **2) # 计算BMI指数
print("BMI:",str(bmi))
if( bmi<18.5):
print("体重过轻")
elif( bmi>=18.5 and bmi <24.9):
print("正常范围,注意保持")
elif( bmi>=24.9 and bmi<29.9):
print("体重过重")
else:
print("肥胖")
2.2 运行结果
依次输入身高和体重,并按下回车,终端处会打印对应的BMI 指数和评估结果。
height(m): 1.7
weight(kg): 60
BMI: 20.761245674740486
正常范围,注意保持
2.3 程序分析
1、数据输入:通过调用input()函数来接收输入数据,函数括号内为提示信息。
height=float(input("height(m): "))
weight=float(input("weight(kg): "))
2、数据计算:根据BMI 指数的计算公式,对输入数值进行处理,并通过print()函数将计算结果打印至终端界面。
bmi= weight/(height **2) # 计算BMI指数
print("BMI:",str(bmi))
3、范围判断:由于判别结果多于两个,此处需要采用多分支选择结构,即if-elif-else 语句。
if( bmi<18.5):
print("体重过轻")
elif( bmi>=18.5 and bmi <24.9):
print("正常范围,注意保持")
elif( bmi>=24.9 and bmi<29.9):
print("体重过重")
else:
print("肥胖")
- 当BMI 指数小于18.5,打印评估结果“体重过轻”;
- 当BMI 指数大于或等于18.5,且小于24.9,打印评估结果“正常范围,注意保持”;
- 当BMI 指数大于或等于24.9,且小于29.9,打印评估结果“体重过重”;
- 当BMI 指数大于或等于29.9,打印评估结果“肥胖”。