程序的控制结构
一、顺序结构
1.代码依次写下去就是顺序结构
二、分支结构
1.If elif else
2.注意条件之间的包含关系,避免条件相互覆盖
3.异常处理:
①在红色字里找到异常发生的代码行数
②异常类型:例如NameError TypeError
③其后是异常内容提示
④Try:
Expression1
Except(可选异常类型):
Expression2
高级形式
Try:
Expression1
Except:
Expression2
Else:
Expression3
Finally:
Expression4
Else 是当没有出现异常时执行的语句块
Finally 无论是否出现异常都会执行
4.实例 身体质量指数BMI
height,weight = eval(input('请输入身高(米)体重(公斤)【用逗号隔开】'))
bmi = weight/height**2
print('bmi指数为:{:.2f}'.format(bmi))
who,nat='',''
if bmi<18.5:
who,nat = 'thin','thin'
elif 18.5<=bmi<=24:
who,nat='normal','normal'
elif 24<=bmi<=28:
who.nat='fat','thin'
else:
who,nat='fat','fat'
print('bmi指数为:国际"{0}",国内"{1}"'.format(who,nat))
三、循环结构
- 遍历循环:
(1) For i in range (m,n,step): expression
(2) 逐一提取元素,放在循环变量里
(3) I 可以是很多种数据类型的变量,字符串、列表、浮点数,都可以
(4) For i in range (5) 后面可以使用循环变量i,也可以不使用,反正是循环5次expression
(5) 文件遍历循环
- 无限循环
(1) While : expression
(2) 当expression执行后,不会继续执行,而是转回while语句,继续判断,如果依然是true,那么再次执行expression,所以如果一直是true,就成了无限循环,所以expression中,需要有一个能让判断条件逐步趋向false的代码,这样才能跳出循环
(3) Ctrl+c中断无限循环的运行
(4) #π的无限循环计算
(5) b=0
(6) k=0
(7) a=0
(8) while k >-1:
(9) a = pow(1/16,k)*(4/(8*k+1)-2/(8*k+4)-1/(8*k+5)-1/(8*k+6))
(10) c = a+b
(11) b = c
(12) k+=1
(13) print(c)
- 控制循环保留字:
(1) Break 打破循环结构,整个循环结构结束,但一次只能跳出一个循环结构
(2) Continue 跳过某一次循环,继续执行循环结构
- 循环高级用法
(1) Else:当不满足条件的时候,执行else,
(2) Else是循环语句的一部分,所以如果有break存在,else语句也不会被执行
(3) Else本身不具有循环结构,也就是说,当正常跳出循环执行的else,只能被执行一次