Python中while循环嵌套介绍和3个实例

一、应用场景:
故事梗概: 有一天你的女朋友她又生气了,让你说3遍“媳妇,我错了”,这个程序是不是循环即可?但是如果你女朋友说:还要刷今晚吃饭的碗,这个程序又该怎么写呢?

while 条件: print('媳妇,我错了') print('晚上刷碗')

但是如果女朋友还是很生气,她要把这个惩罚连续三天都执行,那么又该如何书写程序?
while 条件: while 条件: print('媳妇,我错了') print('晚上刷碗')

二、语法:
while 条件1: 条件1成立执行的代码 ...... while 条件2: 条件2成立执行的代码 ......

总结:嵌套就是包含的意思,所谓while循环嵌套,就是一个while里面嵌套一个while的写法,每个while和之前的基础语法是相同的。
三、快速体验--以上场景复现
""" 1. 循环打印3次媳妇,我错了 2. 刷碗 3. 上面是一套惩罚,这一套惩罚重复执行3天----一套惩罚要重复执行---放到一个while循环里面 """ j = 0 while j < 3: i = 0 while i < 3: print('媳妇,我错了') i += 1 print('刷碗') print('一套惩罚就结束了!!!!!!!!!!!!') j += 1

返回结果如下图:
Python中while循环嵌套介绍和3个实例
文章图片

四、理解while循环执行流程
当内部循环执行完成之后,再执行下一次外部循环的条件判断。
Python中while循环嵌套介绍和3个实例
文章图片

大家可以利用debugger工具来验证一下执行流程,步骤是:在第一行代码上打上断点后进入debugger工具,一直点击按步操作按钮(也就是下一步step over)。
Python中while循环嵌套介绍和3个实例
文章图片

如果大家想看更多Python免费教程方面的文章,可以移步去我的个人空间,会一直更新Python方面的文章,不止是基础后期进阶的也会慢慢更新。
这里一共有3个while循环嵌套例题,前面2个例题是为第3个九九乘法表做铺垫的,因为九九乘法表要注意的细节有很多,最终要做出一个九九乘法表。如果想要练习更多的Python练习题可以去Python自学网里去,里面有很多练习题,学习编程还是要多敲代码多练习自己的流程思维。
实例一:打印星号(矩形状)
1.1需求: 最终效果如图
Python中while循环嵌套介绍和3个实例
文章图片

1.2代码:
分析: 一行输出5个星号,重复打印5行即可。
""" 1. 打印1个星星 2. 一行5个星星:循环----5个星星在一行显示 3. 打印5行星星:循环----一行5个,共5行 """ j = 0 while j < 5: # 一行星星开始 i = 0 while i < 5: print('*', end='')# 如果不修改end结束符的换行那么是一行一个星星,把默认换行转义字符删除修改后就是一行5个星星,符合要求 i += 1 # 一行星星结束,换行显示下一行 print()# 利用print默认自带换行结束符,这里弄一个空的print,否则会所有星星是一行 j += 1

返回结果如下图:
Python中while循环嵌套介绍和3个实例
文章图片

实例二:打印星星(三角形状)
2.1 需求:如下图
Python中while循环嵌套介绍和3个实例
文章图片

2.2 代码
分析:一行输出星星的个数和行数是相等的,每行:重复打印行号数字个星号,将打印行星号的命令重复执行5次实现打印5行
#三角形:每行星星的个数和行号数相等 j = 0 while j < 5: # 一行星星开始 i = 0 # i表示每行里面星星的个数,这个数字要和行号相等,所以i要和j有联动关系 while i <= j: print('*', end='')# 如果不修改end结束符的换行那么是一行一个星星,把默认换行转义字符删除修改后就是一行5个星星,符合要求 i += 1 # 一行星星结束,换行显示下一行 print()# 利用print默认自带换行结束符,这里弄一个空的换行,否则会所有星星是一行 j += 1

返回结果如下图:
Python中while循环嵌套介绍和3个实例
文章图片

实例三、九九乘法表
3.1 需求:如下图的执行结果
Python中while循环嵌套介绍和3个实例
文章图片

【Python中while循环嵌套介绍和3个实例】3.2 代码
# 多行多个乘法表达式 x * x = x*x """ 1. 打印一个乘法表达式:x * x = x*x 2. 一行打印多个表达式----一行表达式的个数和行号数相等----循环:一个表达式---不换行 3. 打印多行表达式----循环: 一行表达式---换行注意: 一行表达式的个数和行号数相等 """ j = 1 while j <= 9: i = 1# 九九乘法表的开始数字是1,所以这里取数字1 while i <= j:# 重点:i列和j行要有一个联动关系 print(f'{i} * {j} = {i * j}', end='\t')# 利用制表符转义字符\t来实现乘法表对齐的格式 i += 1# 每次循环自增1 # 一行的表达式结束 print() #利用print实现空的换行 j += 1# 每次循环自增1

返回结果如下图:
Python中while循环嵌套介绍和3个实例
文章图片

文章借鉴来源:
www.wakey.com.cn/article-list-100.html

    推荐阅读