程序由三种基本结构:
- 顺序结构
- 分支结构
- 循环结构
一、顺序结构
即表示代码是从上往下执行。
二、分支结构(升级版:异常处理)
1.单分支结构(if):
2.二分支结构(if - else):
紧凑形式:适用于简单表达式的二分支结构
3.多分支结构(if -elif- else):
4.程序的异常处理: try-except
除了try和except外,异常语句还可以用else和finally保留字配合使用,
语法格式如下:
try:
<语句块1>
except <异常类型1>:
<语句块2>
else:
<语句块3>
finally:
<语句块4>
如果语句块1正常,执行语句块3,如果异常才会执行语句块2,不管是否异常都会执行语句块4(finally子句中的代码总是会执行),这个是必须执行的。
代码:
循环结构
三.遍历循环(for):
正常模式: for <循环变量> in <遍历结构>: <语句块1> | 使用保留字else的扩展模式: for <循环变量> in <遍历结构>: <语句块1> else: <语句块2> |
1.遍历结构里放入遍历迭代数据类型,可以是字符串,range()函数,文件,组合数据类型等。
2.当for循环正常执行之后,程序会继续执行else语句 中内容。循环时被break退出循环后,不执行else语句块,如果被continue退出当次循环,则还会继续执行else语句。
for i in range(10): if i==9: break print(i,end=",") else: print(10) >>>0,1,2,3,4,5,6,7,8, | for i in range(10): if i==9: continue print(i,end=",") else: print(10) >>>0,1,2,3,4,5,6,7,8,10 |
1.使用range()函数,指定循环次数:
for i in range(起始下标,结束下标,步长):
<循环语句>
起始下标:默认从0开始 ,如range(5),则等于range(0,5),从0开始截止到下标4,一共循环五次
结束下标:遵循左闭右开原则,例range(1,4) 则表示从1下标开始,到3下标
for i in range(5): print("返回值为:",i) | for i in range(1,6): print("返回值为:",i) | for i in range(1,6,2): print("返回值为:",i) |
>>> 返回值为: 0 返回值为: 1 返回值为: 2 返回值为: 3 返回值为: 4 | >>> 返回值为: 1 返回值为: 2 返回值为: 3 返回值为: 4 返回值为: 5 | >>> 返回值为: 1 返回值为: 3 返回值为: 5 |
2.无限循环:(while)
正常模式: while <条件>: <语句块1> | 使用保留字else的扩展模式: while <条件>: <语句块1> else: <语句块2> |
死循环:while 后面的数字大于1,比如true,1,2........ 可以使用ctrl+c强制解除循环
不会运行的循环:while 后面为0,0.0,None,False,各种空([],(),’’,{})
死循环案例: | while True: print('死循环') | while 1: print('死循环') | while 2: print('死循环') | |
不会运行的循环: | while '': print('循环不能运行') | while 0: print('循环不能运行') | ||
while None: print('循环不能运行') | while False: print('循环不能运行') | |||
while []: print('循环不能运行') | while {}: print('循环不能运行') |
3.使用break和continue关键字
- break跳出并结束当前整个循环,执行循环后的语句
- continue结束当次循环,继续执行后续次数循环
- break和continue可以与for和while循环搭配使用
区别:
最重要的区别:
循环时被break退出循环后,不执行else语句块,如果被continue退出当次循环,则还会继续执行else语句。此情况遍历循环和无线循环都适用。
常用代码:
递归