Python学习笔记(五)——程序的分支结构

Python学习笔记(五)——程序的分支结构

单分支结构

根据判断条件结果而选择不同向前路径的运行方式

if <条件> :

​ <语句块>

#猜数字
guess = eval(input())
if guess == 99print("猜对了")

二分支结构

根据判断条件结果而选择不同向前路径的运行方式

if <条件> :

​ <语句块1>

else :

​ <语句块2>

#猜数字
guess = eval(input())
if guess == 99print("猜对了")
 elseprint("猜错了")

紧凑形式: 适用于简单表达式的二分支结构

<表达式1> if <条件> else <表达式2>

#猜数字
guess = eval(input())
print("猜{}了".format("对" if guess==99 else "错"))

多分支结构

#对不同分数分级的问题
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 < 99print("猜错了")
 elseprint("猜对了")

程序的异常处理

异常处理的基本使用

try :

​ <语句块1>

except :

​ <语句块2>

try :
    num = eval (input("请输入一个整数"))
    print(num**2)
except :
    print("输入不是整数")
##3**2 = 9

或者

try :

​ <语句块1>

except <异常类型> :

​ <语句块2>

try :
    num = eval (input("请输入一个整数"))
    print(num**2)
except NameError:
    print("输入不是整数")

标注异常类型后,仅响应该异常。异常类型名字等同于变量。

异常处理的高级使用

try :

​ <语句块1>

except :

​ <语句块2>

else :

​ <语句块3>

finally :

​ <语句块4>

注:finally对应的语句块4一定执行;else对应的语句块3在不发生异常时执行

身体质量指数BMI实例

BMI:Body Mass Index,对身体质量的刻画。国际上常用的衡量人体肥胖和健康程度的重要标准,主要用于统计分析。定义为

BMI = 体重(kg)/ 身高^2 (m^2)

BMI对身体健康的刻画:

分类国际BMI值(kg/m^2)国内BMI值(kg/m^2)
偏瘦<18.5<18.5
正常18.5~2518.5~24
偏胖25~3024~28
肥胖>=30>=28

问题需求:

  • 输入:给定体重和身高值

  • 输出:BMI指标分类信息(国际和国内)

思路方法:

  • 难点在于同时输出国际和国内对应的分类

  • 思路一:分别计算并给出国际和国内BMI分类

  • 思路二:混合计算并给出国际和国内BMI分类

#CalBMIv1.py
height, weight = eval(input("请输入身高(米)和体重(公斤)[逗号隔开]: "))
bmi = weight / pow(height, 2)
print("BMI 数值为:{:.2f}".format(bmi))
who = ""
if bmi < 18.5:
                who = "偏瘦"
elif 19.5 <= bmi < 25:
                who = "正常"
elif 25 <= bmi <30:
                who = "偏胖"
else :
                who = "肥胖"
print("BMI 指标为:国际'{0}'".format(who))
#CalBMIv2.py
height, weight = eval(input("请输入身高(米)和体重(公斤)[逗号隔开]: "))
bmi = weight / pow(height, 2)
print("BMI 数值为:{:.2f}".format(bmi))
who, nat = ","
if bmi < 18.5:
                who, nat = "偏瘦", "偏瘦"
elif 19.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))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值