一、利用场景:

故事梗概: 有一天你的女朋友她又怄气了,让你说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 = 0while 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 = 0while 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 = 0while j < 5:    # 一行星星开始    i = 0    # i示意每行外面星星的个数,这个数字要和行号相等,所以i要和j有联动关系    while i <= j:        print('*', end='')  # 如果不批改end结束符的换行那么是一行一个星星,把默认换行转义字符删除批改后就是一行5个星星,符合要求        i += 1    # 一行星星完结,换行显示下一行    print()  # 利用print默认自带换行结束符,这里弄一个空的换行,否则会所有星星是一行    j += 1

返回后果如下图:

实例三、九九乘法表

3.1 需要:如下图的执行后果

3.2 代码

# 多行多个乘法表达式 x * x = x*x"""1. 打印一个乘法表达式:x * x = x*x2. 一行打印多个表达式----一行表达式的个数和行号数相等----循环:一个表达式---不换行3. 打印多行表达式----循环: 一行表达式---换行留神: 一行表达式的个数和行号数相等"""j = 1while 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