章节导航
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() 格式化数字的多种方法: '''