第四周程序的控制结构

本文详细介绍了Python程序中的顺序、分支(单分支、二分支、多分支)和循环结构,以及条件判断的使用,同时涵盖了异常处理和BMI计算实例,展示了如何在实际编程中应用这些控制语法。
摘要由CSDN通过智能技术生成

章节导航

4.1程序的分支结构
4.2实例5:身体质量指数BMI
-4.3程序的循环结构
4.4模块3:random库的使用
-4.5 实例6: 圆周率的计算


程序结构

顺序结构是按照顺序逐渐执行的结构

分支结构是程序按照条件有选择的朝运行方向运行的结构

循环执行是执行后再返回执行


章节目标

方法论
-Python程序的控制语法及结构实践能力
学会编写带有条件判断及循环的程序


程序的分支结构

-单分支结构
-二分支结构
-多分支结构
-条件判断及组合
-程序的异常处理


 单分支结构

guess=eval(input())
if guess==99:#=是赋值号 ==是等于#if True
  print("猜对了")#“条件正确”

二分支结构

guess=eval(input())
if guess==99:#if True
   print("对了")#语块1
else:
   print("错了")#语块2
 紧凑形式:适用于简单表达式的二分支结构

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

guess=eval(input())
print("猜{}了".foramt("对" if guess==99 else "错"))#注意表达式的使用而不是语句的使用,不进行冒号赋值

 多分支结构

 

注意多条件之间的包含关系

注意变量取值范围的覆盖

#scoregrade
score=eval(input())
if 70>score>=60:
    grade="D"
elif 80>score>=70:
    grade="C"
elif 90>score>=80:
    grade="B"
elif score>=90:
    grade="A"
print("输入成绩属于级别{}".format(grade))

 条件判断及组合
条件判断操作符

 用于条件组合的三个保留字

#guess=99.py
guess=eval(input())
if guess>99 or guess<99:#if not guess==99:
    print("猜错了")
else:
    print("猜对了")

'''
#guess=99.py
while (1):#1是真2是假,可以循环
    guess=eval(input())
    if guess>99 or guess<99:#if not (guess==99): 
        print("猜错了")
    else:
        print("猜对了")
'''
 while的用法


 异常程序处理

异常提示
#nameerror.py
try:
    num=eval(input("请输入一个整数:"))
    print(num**2)
except:#except NameError:标注异常类型后,仅响应该异常,异常类型等同于变量不加引号
    print("输入不是整数")

 先执行一部分语块1,不异常执行语块3,异常执行语块2,无论异常不异常都执行语块4


实例

BMI=体重kg/身高m2**2

输入:给定体重和身高值

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

#calbmi.py
height,weight=eval(input("请输入身高(米)和体重\(公斤)[逗号隔开]:"))#逗号获取多个输入
bmi=weight/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))
#替换数值变为国内


#calbmiv2.py
height,weight=eval(input("请输入身高(米)和体重(公斤)[逗号隔开]:"))#逗号获取多个输入
bmi=weight/height**2
print("BMI数值为:{:.2f}".format(bmi))
who,nat="",""
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))#参数索引


'''
index:指定:后边设置的格式要作用到 args 中第几个数据,数据的索引值从 0 开始。如果
省略此选项,则会根据 args 中数据的先后顺序自动分配。
'''
'''
format函数

这是一种字符串格式化的方法,用法如str.format()。

基本语法是通过 {} 和 : 来代替以前的 % 。

以下展示两种主要用法:

(1)如:语句print("{:.2f}".format(3.1415926)),它的输出为3.14,可以看出命令为保留两位小数点。

(2)如:语句"{1} {0} {1}".format("hello", "world"),它的输出为'world hello world',可以看出format为他们设置了位置。

又如:语句print '{} *'.format(j)表示输出变量j的值以及乘号:j*,可以看出用在循环里可以输出一个乘法的等式。

又如:两个{{}}有一对是转义符。语句print "{} 对应的位置是 {{0}}".format("runoob"),它的输出为'runoob对应的位置是{0}'.

下表展示了 str.format() 格式化数字的多种方法:
'''

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值