Python初学6——程序的分支结构

目录

一、单分支结构( if )

二、二分支结构( if-else )

2.1 松散结构

2.2 紧凑结构

三、多分支结构( if-elif-else )

四、条件判断及组合( >、<、==、>=、<=、!=、and、or、not )

五、程序的异常处理

5.1 异常处理方式1( try-except )

5.2 异常处理方式2( try-except )

5.3 异常处理方式3( try-except-else-finally )

六、“身体质量指数BMI”实例


 

一、单分支结构( if )

单分支结构程序框架:

if <条件> :

    <语句块>

单分支结构流程图表示:

图1-1

二、二分支结构( if-else )

2.1 松散结构

二分支松散结构程序框架:

if <条件> :

    <语句块1>

else :

    <语句块2>

二分支松散结构流程图表示:

图2-1

2.2 紧凑结构

二分支紧凑结构程序框架:

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

注:表达式不同于语句,表达式1、2中不应出现赋值操作。

二分支紧凑结构流程图表示:

图2-2

三、多分支结构( if-elif-else )

多分支结构程序框架:

if <条件1> :

    <语句块1>

elif <条件2> :

    <语句块2>

elif <条件3> :

    <语句块3>

……

elif <条件N-1> :

    <语句块N-1>

else :

    <语句块N>

注:条件1 ~ N-1间有包含关系、先后关系。

多分支结构流程图表示:

图3-1

四、条件判断及组合( >、<、==、>=、<=、!=、and、or、not )

表4-1 条件判断操作符
操作符判断说明
>大于
<小于
==等于
>=大于等于
<=小于等于
!=不等于
表4-2 同于条件组合的3个关键字及使用
关键字及使用说明
x and y条件 x、y 的逻辑与,返回 True 或 False
x or y条件 x、y 的逻辑或,返回 True 或 False
not x条件 x 的逻辑非,返回 True 或 False

五、程序的异常处理

        异常区别于错误,错误有算法逻辑错误、程序语法错误。

        而异常是程序在运行过程中遇到的意料之外的情况,比如:打开一个不存在的文件、新建一个已经存在的文件、访问网络文件时突然断网、程序设计输入数值而用户故意输入字符串等。

        没有异常处理的情况下,程序遇到异常会退出并提示异常信息。

5.1 异常处理方式1( try-except )

try :

    <语句块1>

except :

    <语句块2>

注:若程序运行无异常,则执行语句块1,不执行语句块2;若执行语句块1的过程中遇到异常,则不再继续执行语句块1,跳转并执行语句块2(语句块2响应语句块1中遇到的所有异常)。

5.2 异常处理方式2( try-except )

try :

    <语句块1>

except <异常类型的名称> :

    <语句块2>

注:

1. 若程序运行无异常,则执行语句块1,不执行语句块2;若执行语句块1的过程中遇到 except 指定的异常,则不再继续执行语句块1,跳转并执行语句块2(语句块2只响应语句块1中遇到的 except 指定的异常);若执行语句块1的过程中遇到非 except 指定的异常,则程序停止运行,并在异常语句处报错。

2. 异常类型的名称是Python中预定义的,可以直接使用,而不用自定义。

5.3 异常处理方式3( try-except-else-finally )

try :

    <语句块1>

except :

    <语句块2>

else :

    <语句块3>

finally :

    <语句块4>

注:

1. 语句块1无异常 -> 继续执行完语句块1 -> 跳转并执行完语句块3 -> 跳转并执行完语句块4

2. 语句块1发生异常 -> 终止执行语句块1 -> 跳转并执行完语句块2 -> 跳转并执行完语句块4

六、“身体质量指数BMI”实例

身体质量指数BMI(Body Mass Index),定义:

BMI = \frac{M}{L^{2}}

其中,BMI 为身体质量指数,单位千克每平方米(Kg/m2);M 为人的体重,单位千克(Kg);L 为人的身高,单位米(m)。

表6-1 BMI健康情况参考表
分类国内BMI值(Kg/m2)国际BMI值(Kg/m2)
偏瘦< 18.5< 18.5
正常18.5 ~ 2418.5 ~ 25
偏胖24 ~2825 ~ 30
肥胖≥ 28≥ 30

代码示例:

try :
    height, weight = eval(input("请输入你的身高数值(米)和体重数值(千克),用英文逗号隔开:"))
    bmi = weight / pow(height, 2)
    print("你的身体质量指数BMI为:{:.2f}".format(bmi))
    zn, en = "", ""
    if bmi < 18.5 :
        zn, en = "偏瘦", "偏瘦"
    elif 18.5 <= bmi < 24 :
        zn, en = "正常", "正常"
    elif 24 <= bmi < 25 :
        zn, en = "偏胖", "正常"
    elif 25 <= bmi < 28 :
        zn, en = "偏胖", "偏胖"
    elif 28 <= bmi < 30 :
        zn, en = "肥胖", "偏胖"
    else :
        zn, en = "肥胖", "肥胖"
    print("国内BMI指标为:{}\n国际BMI指标为:{}".format(zn, en))
except :
    print("未输入正确的身高或体重,请重新运行程序再次输入。")

运行结果:

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

觅道無涯-千知

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值