python流程控制
计算机软件在解决某个问题时,有三种执行方式。分别为顺序执行、选择执行、循环执行。这对应程序设计结构中的三种程序结构执行流程:顺序结构、选择结构和循环结构。
一 顺序结构
执行总是从程序的第一行开始。从上至下,按顺序,每次执行一条语句。
函数定义并不会改变程序的执行流程,但应注意函数体中的语句并不会立即执行,而是等到函数被调用时被执行。函数调用可以看作程序执行流程的一个迂回路径。遇到函数调用时,并不会直接继续执行下一条语句,而是跳到函数的第一行,先执行完函数体的所有语句,再跳回到原来离开的地方。
二 选择结构
程序为了应对不同的条件而需要选择的执行某些代码块,条件语句给了程序这种可能。最简单的就是if表达式。
# 判断x与y的大小关系 if x>y: print('x比y大') elif x<y: print('x比y小') else: print('x和y一样大')
if之后的布尔表达式称为条件,如果为真,则之后的缩进的代码块会被执行。如果为假,则继续判断之后的布尔表达式,如果也为假,则执行else后缩进的代码块。
if语句里面也能嵌套if语句。
# if嵌套if语句 判断x,y,z的最大值 if x>y: if x>z: print('最大值为x') else: print('最大值为z') else: if y>z: print('最大值为y') else: print('最大值为z')
三 循环结构
循环结构在每种编程语言里面都是很重要的一种执行结构。在 python中也不例外。
循环结构分为两种:for循环结构和while循环结构
1 while循环结构
while又称为条件循环,循环的次数取决于条件。
# 简单的while循环 while True: print('这是个死循环')
运行这段代码,则控制器会不停的打印‘这是个死循环’,这种循环需要有退出程序的条件,比如把True改成False。
# 简单的判断循环,判断三次后退出程序 count = 0 while True: if count == 3: print('输错三次了,请半小时后重试') break name = input('请输入你的名字:') pwd = input('请输入你的密码:') if name == 'zz' and pwd == ' password': print('login successful') break else: print('login msg false') count += 1
为了更便捷的控制while循环,可以给while一个标记变量,当需要退出循环时就把标记改为False。
# 标记控制while循环 AGE = 18 tag = True while tag: count = 0 while tag: count += 1 if count == 4: break age = int(input('请输入你猜的年龄:\n')) if age == 18: print('恭喜你猜对了') tag = False elif age < 18: print('年龄猜小了') else: print('年龄猜大了') b = input('是否想继续玩下去:') if b in ['Y', 'y']: tag = True else: break
2 for循环结构
for循环也是python中很重要的循环结构,但是没有while使用广泛,for循环结构常用在循环取值中。比如取出容器中的每一个对象,如list、dict、tuple、set、str。
# for循环取值 lis = [1,2,3,4] for i in list: print(i) dic = {'a':'123','b':'234','c':'345'} for i in dic: print(i,dic[i])
3 continue、break、else
while+continue
# while+continue while+continue:continue # 代表结束本次循环,直接进入下一次 count=1 while count < 6: if count == 4: count+=1 continue # 只能在cotinue同一级别之前加代码 print(count) count+=1
while+else
# while+else count=1 while count < 6: if count == 4: break print(count) count+=1 else: print('会在while循环没有被break终止的情况下执行')
while+break
当条件符合时,break会跳出当层循环,继续运行和while同等级的代码