4.1 条件控制
If条件判断语句是通过一条或多条件语句的执行结果 (Ture或False)来告诉计算机是否执行代码指令。 在编写代码时,经常需要用到根据某些条件进行, 并根据判断结果是否成立来执行后续的代码处理, 这里的是否成立就是条件表达式的布尔值:Ture,False。
下面看一段代码:
qus = input('是否想知道66的66次方有多大吗?Y/N: ')
if qus in ['y', 'Y']:
print('答案是:',66**66)
print('吓到了吧。')
elif qus in ['n','N']:
print('不想知道就算了。')
else:
print("你输入的不是'Y/N'")
运行后输出结果如下(此段代码分两次输出, 第二段代码按提示输入信息后按enter键):
是否想知道66的66次方有多大吗?Y/N:
答案是:
1229984803535237425357460579824952453848609953896821302286319
065669207712270213276022808840210306942692366529569453244416
吓到了吧。
解释下上面的代码,其中第一行代码是让用户输入一个字符Y或者N并赋予变量qus, 第二行代码就是我们刚学的if条件判断语句的用法, 判断变量的值有没有在列表 ['y', 'Y']中,判断为ture, 执行下一条语句print命令;上述判断为false则执行elif语句, 判断是否在列表 ['n','N']中,否则执行else语句。 下面自己将上述代码运行下看看elif和else输出的内容。
1.另外注意每个条件后都要用冒号(:),意为接下来要执行的语句。
2.If语句可以单独出现,例如:if false: print(‘hi’)。
3.If支持语句嵌套,即在一个if语句块中存在一个或多个if语句。
4.If语句中各种空类型和0都会被当做false处理, 例如:” ”,[],(),{}都会被当做false处理。
学到这里我们就可以自己写一个实用的程序了, 身体质量指数(BMI)计算器。 可以自己先试着写下代码再对比教程代码, BMI计算公式为BMI=体重(KG)/身高(M)**2, 下图是BMI中国标准:
代码如下:
wt=eval(input("请输入你的体重(KG):"))
ht=eval(input("请输入你的身高(CM):"))/100
bmi=(wt/ht**2)
print (f"你的体重是{wt}公斤,身高是{ht}米")
print('身体质量指数BMI为:{:.2f}'.format(bmi))
if bmi<=18.4:
short=ht**2*18.5-wt
print(f"你太瘦了,再增重{short:.2f}公斤,体重就正常了")
elif (bmi>=18.5) and (bmi<24):
short=wt-ht**2*24
print(f"太棒了,你的身体指数正常,请继续保持")
elif (bmi>=24) and (bmi<28):
short=wt-ht**2*24
print(f"你有点胖了,再减肥{short:.2f}公斤,体重就正常了")
elif (bmi>=28) and (bmi<32):
short=wt-ht**2*24
print(f"你已达到肥胖标准了,要减肥{short:.2f}公斤,体重才能正常")
elif bmi>=32:
short=wt-ht**2*24
print(f"你太肥了,需要减肥{short:.2f}公斤,体重才能正常了")
else:
print("输入错误,请重新输入")
input("任意键退出")
以上全部是用学过的知识编辑的,
首先定义三个变量分别为身高、体重和bmi计算公式,方便后面调用。
第四段代码是利用学过的f格式化方法,
第五段用format格式化方法留小数点后两位,后面便是if语句的实际用法了,
最后一段代码,用input()方法防止运行完代码程序自动退出,
需要注意的是short变量是计算需要增加和减少身体重量的值,可以研究下。