每日学习14-while循环嵌套执行流程及打印实例
五 while循环嵌套
5.1 应用场景
故事概要: 还是媳妇生气了,惩罚: 说3遍"媳妇,我错了",这个程序是不是循环即可?
但如果媳妇说:还要刷今天晚饭的碗,这个程序怎么书写?
i = 0
while 条件(i <= 3):
print('媳妇,我错了')
i += 1
print('刷晚饭的碗')
但如果媳妇还是生气,把这套惩罚要连续3天都执行,有如何书写程序?
简易代码:
while 条件:
while 条件
print('媳妇,我错了')
print('刷晚饭的碗')
5.2 语法
while 条件:
条件1成立执行的代码
......
while 条件:
条件2成立执行的代码
......
总结: 所谓 while 循环嵌套,就是一个 while 里面嵌套一个while的写法,
每个while和之前的基础语法是相同的.
代码复现 5.1
'''
1.循环打印3次'媳妇我错了'
2.今天涮晚饭的碗
3.上面一套惩罚.重复执行3天 -- 一套惩罚要执行--放到一个while循环里面
j = 0
while j < 3:
i = 0
while i < 3:
print('媳妇,我错了')
i += 1
print('涮晚饭的碗')
print('一套惩罚结束-----------')
j += 1
六 实例
while 循环嵌套应用
6.1 应用一: 打印星号正方形
6.1.1 需求:
6.1.2 代码
分析特点: 一行输出5个星号
重复打印5行
步骤:
1.打印一个星星
2.一行5个: 循环--5个星星 在一行内显示
3.打印5行星星: 循环 ---一行5个星星的代码
j 代表第几行星星
i 代表每行星星个数
j = 0
while j < 5:
i = 0 # 一行形象开始
while i < 5:
# 一行内的星星不能换行,取消print默认换行符
print('*',end='') # end='' 结束换行符
i += 1
# 一行星星结束,结束这里借助一个空的print,利用print默认换行符
print() # 默认换行符
j += 1
6.2 应用二: 打印星号--三角形
6.2.1 需求:
*
**
6.2.2 代码
分析: 一行输出的星星的个数和行号是相等的
每行重复打印行号数字个星号,
将打印星号的命令重复执行5次,实现打印5行
步骤:
1.打印一个星星
2.打印5行星星: 循环 ---一行5个星星的代码
3.每行星星的个数与行数相互关联
重复打印5行星星
j 表示行号
i 表示星星
j = 0
while j <= 5:
#一行星星的打印
i = 0
# i 表示每行里面星星的个数,这个数字要和行号相等所以i要和j联动
while i <= j: # i j 联动
print('*',end='')
i += 1
print(j)
j += 1
6.3 九九乘法表
6.3.1 执行结果
6.3.2 代码
分析: 有多行多个乘法表 x * x = x * x
步骤:
1. 打印一个乘法表达式: x * x = x * x
2. 一行打印多个表达式:--一行表达式的个数和行号数相等
--循环:一个表达式--不换行
3. 打印多行表达式: 循环--一行表达式
*****注意事项: 一行表达式的个数和行号数相等
j = 1
while j < 10:
# 一行的表达式
i = 1
while i <= j: # 数据计算时尤为重要
print(f'{i} * {j} = {i * j}', end='\t') # \t对齐制表符
i += 1
# 一行表达式结束
print()
j += 1

浙公网安备 33010602011771号