乐趣区

关于python: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

返回后果如下图:

四、了解 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 需要:如下图的执行后果

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

退出移动版