分支结构
单分支结构
if <条件> :
<语法块>
eg: guess = eval(input())
if guess == 99:
print(“正确”)
eg:if True:
print(“语法1”)
二分之结构
if <条件> :
<语法块1>
else :
<语法块2>
eg: guess = eval(input())
if guess == 99:
print(“正确”)
else :
print(“猜错了”)
eg:if True:
print(“语法1”)
else :
print(“语法2”)
表达式形式
<表达式1>if <条件> else <表达式>
guess = eval(input())
print("猜{}了".format("对" if guess==99 else"错"))
#判断if值返回前面99表示对,否则返回字符串错误,注意表达式使用
多分支结构
if <条件>:
<语句1>
elif:
<语句2>
…
else:
<语句块2>
score = eval(input())
if score >= 60:
grade = "D"
elif score >= 70:
grade = "c"
elif score >= 80:
grade = "b"
elif score >= 90:
grade = "a"
print("输入成绩属于级别{}".format(grade))
操作符
符号 含义
< 小于
<= 小于等于
> 大于
>= 大于等于
== 相等
!= 不等
x and y 两个条件x和y的逻辑与
x or y 两个条件x和y的逻辑或
not x 条件x的逻辑非
guess = eval(input())
if guess > 99 or guess < 99:
print(“猜错了”)
else:
print(“猜对了”)
异常处理
num = eval(input(“请输入一个整数:”))
print(num**2)
改:
使用
try:
<语句块1>
except:
<语句块2>
或
try:
<语句块1>
except <异常类型>:
<语句块2>
try:
num = eval(input("请输入一个整数"))
print(num**2)
except:
print(“输入的不是整数”)
如果在except后面增加类型,标注异常类型后,仅响应该异常异常名字类型名字类型同属于变量
处理异常的高级使用
try:
<语句块1>
except:
<语句块2>
else:
<语句块3>
finally:
<语句块4>
其中finall对应语句4一定执行
else对应语句块3在不发生异常时执行
实例
BMI:Body Mass Index
国际上常用衡量人体肥胖健康程度的重要标准,主要用于统计分析
定义:BMI = 体重(kg)/身高的平方
分析问题需求
输入:给定体重和身高值
输出:BMI指标分类信息(国际和国内)
代码
思路1:计算并给出国际和国内BMI分类。
思路2:混合计算并给出国际和国内BMI分类
height, weight = eval(input("请输入身高(米)和体重\(公斤)[逗号隔开]"))
bmi = weight / pow(height, 2)
print("BMI 数值为:{:2f}".format(bmi))
who = ""
if bmi < 18.5:
who = "偏瘦"
elif 18.5 <= bmi < 25:
who = "正常"
elif 25 <= bmi <30:
who = "偏胖"
else:
who = "胖"
print("BMI 指标为:国际'{0}'".format(who))
国际法
height, weight = eval(input("请输入身高(米)和体重\(公斤)[逗号隔开]"))
bmi = weight / pow(height, 2)
print("BMI 数值为:{:2f}".format(bmi))
who, nat = "", ""
if bmi <18.5:
who, nat = "偏瘦", "偏瘦"
elif 18.5 <= bmi < 25:
who, nat = "正常", "正常"
elif 25 <= bmi <30:
who, nat = "偏胖","偏胖"
elif 30 <= bmi <35:
who, nat = "胖", "胖"
print("BMI 指标为:国际'{0}', 国内'{1}'".format(who, nat))
举一反三
多分支条件覆盖是重要问题
程序运行,但不正确,要注意多分支