python程序控制流程(三大流程)分为三种结构:
顺序结构、选择结构、循环结构
一、顺序结构:
程序代码自上而下运行,逐条执行每一条python代码,不重复执行任何代码,也不跳过任何代码;
当语句与语句之间使用分号来分隔且一行中与多条代码,此时程序从左到右依次执行运行。
python代码在执行过程中,遵循下面的基本原则:
- 普通语句,直接执行
- 碰到函数,将函数体载入内存,并不直接执行
- 碰到类,执行类内部的普通语句,但是类的方法只载入,不执行
- 碰到if、for等控制语句,按相应控制流程执行
- 碰到@、break、continue当,按规定语法执行
- 碰到函数、方法调用等,转而执行函数内部代码,执行完毕继续执行原有顺序代码
二、选择结构:
python选择结构也称为分支结构,就是让程序 “拐弯”,有选择性的执行代码;
选择结构又细分为单分支、双分支与多分支结构:
单分支:if语句
if condition: #(条件)
#如果条件成立,则执行if中的代码
双分支:if-else 语句
if condition:
#如果条件成立,则执行if中的代码
else:
#条件不成立,则执行else中的代码
多分支:if-elif-else 语句
if condition1:
#如果条件1成立,则执行这的代码
elif condition2:
#如果条件2成立,则执行这的代码
elif condition3:
#如果条件3成立,则执行这的代码
……
elif conditionN:
#如果条件N成立,则执行这的代码
[else:
#如果有其他剩余条件,则执行这儿
]
需要注意的是:
- python中没有switch语法!!!
- python是一门非常独特的编程语言,它通过缩进来识别代码块,所以我们不能随意缩进,否则会导致输出错误;
- python要求代码块缩进,但却没有要求缩进量;同一个代码块的缩进量一定要相同,缩进量不同的不属于同一个代码块;一般缩进用1个Tab键或者四个空格
- 最后要注意:
- 不需要缩进的地方千万不要缩进,特别是代码第一行,否则输出会报错;一旦缩进就会产生一个代码块。
三、循环结构:
(1) 循环:周而复始,则谓之循环
(2)它的作用:为了让代码更高效的重复执行
(3) 循环结构分为:while循环、for循环
1、while循环
Python 中,while 循环和 if 条件分支语句类似,即在条件(表达式)为真的情况下,会执行相应的代码块。不同之处在于,只要条件为真,while 就会一直重复执行那段代码块。
while 循环结构注重于对循环条件的判断来执行循环的过程
while condition:#(条件表达式)
代码块
#这里的代码块,指的是缩进格式相同的多行代码
#也被称为循环体
# 案例:打印九九乘法表
n = 1
while n <= 9:
m = 1
while m <= n:
print(f"{m} * {n} = {n*m}", end='\t')
m += 1
print()
n += 1
2、for循环
原本python中只有一个while循环的,但为什么又有了for循环呢?
为了遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各种元素,for循环便因此而生。
for..in 循环结构注重于对固定数据列表的循环遍历和使用
for 迭代变量 in 可迭代对象:
代码块
# 迭代变量用于存放从序列类型变量中读取出来的元素,所以一般不会在循环中对迭代变量手动赋值
# 可迭代对象指的是字符串/列表、元组、字典、集合等可迭代的序列类型
# 案例:
# 鸡兔同笼问题:从上面看有35个头,从下面看有94只脚,请问鸡有几只,兔有几只?
for robbit in range(1, 35):
chook = 35 - robbit
if 4 * robbit + 2 * chook == 94:
print(f"鸡有{chook}只,兔有{robbit}只")
在python中for循环一般会与range连用:
for i in range(10):
print(i) # 0~9
for i in range(1, 10):
print(i) # 1~9
for i in range(1, 10, 2):
print(i) # 1,3,5,7,9
'''
range(num) #范围:[0,num) 里面的整数
range(start ,end) #范围:[start,end)
range(start, end, step) # step表示步长
'''
进入循环后,除了当循环条件不成立时跳出循环时,其他情况如何能跳出循环呢?
(4)跳出循环:
a、break 关键字:
主要用在循环体的代码中,用于在满足一定条件时跳出循环,可以完全终止当前循环
b、continue 关键字:
continue 关键字和 break 关键字一样,都是用来控制循环的,不同的是 continue 关键字, 主要是满足条件后终止本次循环之后进入下一次循环。
可以跳过执行当前循环体中的剩余语句,然后继续进行下一次的循环(它不会终止循环)