零基础自学Python,简单实例,用if-elif-elif-else简洁代码
# 定义身高和体重变量并赋值
myWeight = 80
myHeight = 1.8
# BMI计算公式
BMI = myWeight/(myHeight*myHeight)
?
# 利用if elif else语句判断BMI的范围并输出结果
if BMI < 18.5:
print("under weight")
elif BMI < 23.9:
print("normal weight")
elif BMI < 27:
print("over weight")
elif BMI <32:
print("fat")
else:
print("obese")
第2-3行:设定身高体重并赋值给变量
第6行:计算BMI并赋值给变量BMI
第9行:开始判断if语句,若BMI<18.5,则执行第10行语句,打印输出“under weight”;若不满足则会跳转到最近的elif语句当中即第11行elif语句,相比使用if语句来判断条件,elif语句可以简化条件的一些情况
第11行:同样,在进行elif后的判断时,elif语句排除了的9行elif的条件(即有一个附加条件BMI≥18.5),若满足18.5≤BMI<23.9,执行第12行语句,打印输出“normal weight”;若不满足则执行往下最近的elif语句,即第13行elif语句
第13行:同样,在进行elif后的判断时,elif语句排除了的11行elif的条件(即有一个附加条件BMI≥23.9),若满足23.9≤BMI<27,则执行第14行语句,打印输出“over weight”;若不满足,则执行往下最近的第15行elif语句;
第15行:同样,在进行elif后的判断时,elif语句排除了的13行elif的条件(即有一个附加条件BMI≥27),若满足27≤BMI<32,则执行第16行语句,打印输出“fat”;若不满足,则执行往下最近的第17行else语句;
第17行:在都不满足之前的所有if/elif语句时,会直接执行else后的语句,即打印输出“obese”
本题中:BMI计算为24.691358021,在进行第9行和第11判断时,均不满足条件,因此不运行判断语句下的打印输出,进行第13行判断时,满足条件打印输出“over weight”,而后不会再进行第15行和第17行的判断语句