Python123第四周上

第四章 程序的控制结构
4.1 程序的分支结构
4.2 实例:身体质量指数BMI
4.3 程序的循环结构
4.4 模块:random库的使用
4.5 实例:圆周率计算
程序得控制结构包括:顺序结构、分支结构、循环结构
程序的分支结构
包括内容:单分支结构、二分支结构、多分支结构、程序的异常处理
单分支结构: 根据判断条件结果而选择不同向前路径的运行方式;(如果,则…)

#单分支示例
guess = eval(input())
if guess == 99:
    print("猜对了")
if True:
    print("猜对了")
    #只要是if True 条件就会被执行

二分支结构: 根据判断条件结果而选择不同向前路径的运行方式;(如果,则…,否则…)

#二分支示例
guess = eval(input())
if guess == 99:
    print("猜对了")
else:
    print("猜错了")
if True:
	print("猜对了”)
else:
	print("猜错了”)

二分支结构存在紧凑形式:

#二分支紧凑形式示例
guess = eval(input())
print("猜{}了".format("对"if guess == 99 else "错"))

多分支结构: 对满足不同条件的问题分类讨论;
(如果1,则…如果二,则…)

#多分支紧凑形式示例
score = eval(input())
if 60 <= score <70:
    grade = "D"
elif 70 <= score <80:
    grade ="C"
elif 80 <= socre <90:
    grade = "B"
elif 90 <= score <=100:
    grade = "A"
print("成绩级别为{}".format(grade))

条件判断及组合
条件判断:操作符
Python123第四周上_第1张图片
条件组合:用于条件组合的三个保留字;
Python123第四周上_第2张图片
程序异常处理 需注意异常发生代码行数,异常类型,异常内容提示;
Python123第四周上_第3张图片

try:
	num = eval(input(“输入整数”))
	print(num*2)
except:
print("输入的不是整数”)
try:
	num = eval(input(“输入整数”))
	print(num*2)
except NameError:
print("输入的不是整数”)
#标注异常类型后,仅响应此类异常;异常类型名字等同于变量名;

异常处理高级的高级使用
Python123第四周上_第4张图片
实例:身体质量指数BMI
难点:输入变量为两个;须同时给出国内和国外两套标准;

#BMI
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 < 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))

程序的循环结构
包括内容:遍历循环、无限循环、循环控制保留字、循环的高级用法;

遍历循环:遍历某个结构形成的循环运行方式;
1,从遍历结构中逐一提取元素,放在循环变量中;
2,由保留字for和in组成,完整遍历所有元素后结束;
3,每次循环,所获得元素放入循环变量,并执行一次语句块;

#计数循环1
for i in range(5):
	print(i)#range(5)产生0-4的数字序列
#计数循环2
for i in range(1,6,2):
	print(i)#数字序列为1,3,5;
#字符串遍历
for c in "python123":
	print(c,end=",")
#输出为p,y,t,h,o,n,1,2,3
#列表遍历
for item in [123,"py",456]:
	print(item,end="")
#输出为:123,py,456
#123和“py”之所以同级,应该是123无法作为变量,所以默认为字符串处理,二py需要“”才可;
#文件遍历
for line in fi:
	print(line)
#fi是一个文件标识符,遍历其每行,产生循环;
#无限循环
a = 3
while a > 0:
	a = a+1
	print(a)
#满足条件即可进入循环结构,ctrl+c退出执行;

循环保留字: break和continue;
Python123第四周上_第5张图片
注意:break跳出并结束当前整个循环,执行循环后的语句;continue结束当次循环,继续执行后续次数循环;

s = "python"
while s != "":
    for c in s:
        print(c,end="")
    s = s[:-1]
s = "python"
while s != "":
    for c in s:
        if c == "t":
            break
        print(c,end="")
    s = s[:-1] #break仅跳出最内层循环

循环的高级用法
循环与else:当循环没有被break语句退出时,执行else语句块;else语句块作为正常完成循环的奖励(此处与异常处理中else用法相似)
Python123第四周上_第6张图片

你可能感兴趣的:(笔记)