程序的三种执行流程
程序的执行流程有三种,分别是:顺序执行、分支执行、循环执行
- 顺序 —— 从上向下,顺序执行代码
- 分支 —— 根据条件判断,决定执行代码的分支
- 循环 —— 让 特定代码 重复 执行
while循环
循环的作用是让指定的代码重复的执行
while 循环最常用的应用场景就是 让执行的代码 按照 指定的次数 重复 执行
基本语法

应用场景:
:::info
需求:
跟媳妇承认错误,说一万遍”媳妇儿,我错了”
print(“媳妇儿,我错了”)
print(“媳妇儿,我错了”)
print(“媳妇儿,我错了”)
…(还有99997遍)…
:::
循环代码的实现:
# 1.定义循环变量i = 1# 2.使用while判断条件while i <= 10000:# 要重复执行的代码print('媳妇儿,我错了')# 3.修改循环变量i += 1
循环变量和死循环
对于上面的代码i就是循环变量,循环变量的主要作用是控制循环什么时候停下来。
一般情况下,程序中的计数是从0开始的,所以上面的代码通常我们可以写成下面这种:
# 1.定义循环变量i = 0# 2.使用while判断条件while i < 10000:# 要重复执行的代码print('媳妇儿,我错了')# 3.修改循环变量i += 1
死循环指的是程序持续执行,无法终止。原因通常是忘记在循环内部修改循环变量的值
比如:
# 1.定义循环变量i = 0# 2.使用while判断条件while i < 10000:# 要重复执行的代码print('媳妇儿,我错了')
和正常代码相比,在循环内部忘记修改循环变量,循环条件一直满足,循环就会一直执行。死循环在程序中也有一定的使用场景,可以保证程序不会停止。
比如:QQ的服务器要保证能一直接收到消息,通常内部会有死循环支持。再比如,做界面开发时,为了保证界面能一直显示,内部也通常会维护一个死循环
死循环最简单的写法如下:
while True:pass
其中pass是Python的空语句,只是为了保证语法的完整,并没有实际意义。
练习-打印直角三角形
正直角三角形
***************
代码:
n = int(input("请输入打印的行数: "))i = 1while i <= n:print("*" * i)i += 1
倒直角三角形
***************
代码实现:
n = int(input("请输入打印的行数: "))while n >= 0:print("*" * n)n -= 1
嵌套循环
while 嵌套就是:while 里面还有 while
while循环嵌套的格式如下:
代码如下:
# 外层循环i = 0while i < 5:# 内层循环j = 0while j < 3:print(j)j += 1i += 1
练习-九九乘法表
正序九九乘法表

思路分析:
:::info
- 打印星星
- 使用嵌套循环打印阶梯星星
- 将星星替换成乘法口诀公式
:::
使用嵌套循环打印星星:
输出结果: ``` *row = 1while row < 10:# 这一行,需要操作n次 定义循环# 列循环:操作的次数col = 1while col <= row:# 不需要换行print('*', end='') # 默认会有换行col += 1# 换行print()row += 1
**将星星替换成乘法口诀**<br />规则:`列号 x 行号 = 结果````pythonrow = 1while row < 10:# 这一行,需要操作n次 定义循环# 列循环:操作的次数col = 1while col <= row:# 不需要换行# 列*行=数据print('%d * %d = %d'%(col,row,col*row),end='\t') # 默认会有换行col += 1# 换行print()row += 1
倒序九九乘法表

分析:
:::info
只需要将行号从9开始即可
:::
代码:
row = 9while row > 0:# 这一行,需要操作n次 定义循环# 列循环:操作的次数col = 1while col <= row:# 不需要换行# 列*行=数据print('%d * %d = %d'%(col,row,col*row),end='\t') # 默认会有换行col += 1# 换行print()row -= 1
