单分支
最简单的if语句,重点是别忘记【冒号】
if <条件>:
语句块
二分支
经典写法
if <条件>:
语句块1
else:
语句块2
紧凑写法仅用于表达式的二分支
这种写法有两个特点
1. 四行变成了一行,而且省略了冒号和缩进
2. 语句变成了表达式,不能进行赋值操作和比较操作等,只能表示一个值
表达式一 if <条件> else 表达式二
例子
guess=eval(input("请输入一个数字"))
print("猜{}了".format("对" if guess==99 else "错")
多分支
多分支的语句格式是用elif,else等表达的,并不存在其他语言的switch,case等。
多分支语句需要注意三点内容
1. 多分支尽量不要包含
2. 多条件的包含,谁的范围小,谁在前面
3. 注意变量取值范围的覆盖
举例如下
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))
异常处理
异常处理的基本使用,错误名称可以写,也可以不写。
try:
语句块1
except[<错误名称>]:
语句块2
异常处理的高级使用
try:
语句块1
except[<错误名称>]:
语句块2
else:
语句块3
finally:
语句块4
- 正常情况下,先执行语句块1
- 如果有错,执行语句块2
- 如果没有错,执行语句块3
- 执行完成之后,无论是否异常都会执行语句块4
多分支的另外一个实例
#BMI.py
height,weight=eval(input("请输入身高和体重[用逗号隔开]"))
who,int="",""
bmi=weight/pow(height,2)
print("身体质量指数是{:.2f}".format(bmi))
if bmi <= 18.5:
who,int="偏瘦","偏瘦"
elif bmi<=24:
who,int="正常","正常"
elif bmi<=25:
who, int = "偏胖", "正常"
elif bmi<=30.5:
who, int = "偏胖", "偏胖"
else:
who, int = "肥胖", "肥胖"
print("国内标准则{},国际标准则{}".format(who,int))