一、应用场景:
故事梗概: 有一天你的女朋友她又生气了,让你说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
返回结果如下图:
文章图片
四、理解while循环执行流程
当内部循环执行完成之后,再执行下一次外部循环的条件判断。
文章图片
大家可以利用debugger工具来验证一下执行流程,步骤是:在第一行代码上打上断点后进入debugger工具,一直点击按步操作按钮(也就是下一步step over)。
文章图片
如果大家想看更多Python免费教程方面的文章,可以移步去我的个人空间,会一直更新Python方面的文章,不止是基础后期进阶的也会慢慢更新。
这里一共有3个while循环嵌套例题,前面2个例题是为第3个九九乘法表做铺垫的,因为九九乘法表要注意的细节有很多,最终要做出一个九九乘法表。如果想要练习更多的Python练习题可以去Python自学网里去,里面有很多练习题,学习编程还是要多敲代码多练习自己的流程思维。
实例一:打印星号(矩形状)
1.1需求: 最终效果如图
文章图片
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
返回结果如下图:
文章图片
实例二:打印星星(三角形状)
2.1 需求:如下图
文章图片
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
返回结果如下图:
文章图片
实例三、九九乘法表
3.1 需求:如下图的执行结果
文章图片
【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
返回结果如下图:
文章图片
文章借鉴来源:
www.wakey.com.cn/article-list-100.html
推荐阅读
- 【python】利用break 和continue退出for循环
- 【Python】退出循环的两种不同方式(break和continue)
- Python中的if嵌套【语法、实例、执行流程】
- Python中if判断语句的综合应用(猜拳游戏)
- Python中while循环详细讲解
- Python 多重判断的语法和作用、代码实例、执行流程
- 【Python】 2个while循环的应用和注意事项
- python|【python与pycharm安装教程,详解】
- assignment1-澳大利亚Python一对一教学