程序的分支结构
单分支结构、二分支结构、多分枝结构
单分支结构
根据判断条件结果而选择不同向前路径的运行方式。
if<条件>:
<语句块>
实例:
guess=eval(input()) if guess==99: print("猜对了")
二分支结构
根据判断条件结果而选择不同向前路径的运行方式。
if<条件>:
<语句块1>
else:
<语句块2>
实例:
guess=eval(input()) if guess==99: print("猜对了") else: print("猜错了")
紧凑形式:适用于简单表达式的二分支结构
<表达式1>if<条件>else<表达式2>
guess=eval(input()) print("猜{}了".format("对" if guess==99 else "错"))表达式不支持带=的语句
多分枝结构
根据多个条件来选择不同向前路径的运行方式。
if<条件>:
<语句块1>
elif:
<语句块2>
......
else:
<语句块n>
score=eval(input()) if score >= 90: grade = "A" elif score>=80: grade="B" elif score >=70: grade="C" elif score>=60: grade="D" print("输入的成绩属于{}级别".format(grade))
条件判断及组合
guess=eval(input()) if guess>99 or guess<99: print("猜错了") else: print("猜对了")
程序的异常处理
异常处理的基本使用:
try:
<语句块1>
except:
<语句块2>
try: num=eval(input("请输入一个整数")) print(num**2) except: print("输入的不是整数")
异常处理的高级使用:
try:
<语句块1>
except:
<语句块2>
else: 对应的语句块3在不发生异常时执行
<语句块3>
finally: 对应的语句块4一定执行
<语句块4>
例 身体质量指数BMI
height,weight=eval(input("请输入身高(米)和体重(公斤)【逗号隔开】:")) bmi=weight/pow(height,2) print("BMI数值为:{:.2f}".format(bmi)) who="" if bmi <18.5: who,nat="偏瘦","偏瘦" elif 18.5<=bmi<24: who,nat="正常","正常" elif 24<=bmi<25: who,nat="正常","偏胖" elif 25<=bmi<28: who,nat="偏胖","偏胖" elif 28<=bmi<30: who,nat="偏胖","肥胖" else: who,nat="肥胖" print("BMI指标为:国际'{0}',国内'{1}'".format(who,nat))注意多分枝之间的覆盖问题。读程序先看分支