Python 06
1 循环嵌套
1.1 引入
- 要求:使用 Python 代码打印下面的图形
- 最原始的方法:
print('*****')
print('*****')
print('*****')
print('*****')
print('*****')
- 使用 while 循环:
i = 0
while i < 5: # 控制图形的高度
print('*****')
i += 1
- 优化 1:
i = 0
while i < 5: # 控制图形的高度
print('*', end='') # print()有默认换行的功能,加上'end='后可以在运行过程中与下一行代码之间取消换行
print('*', end='')
print('*', end='')
print('*', end='')
print('*', end='')
print() # 在输入 5 个 * 后通过空换行符换行输入后 5 个 *(执行下一次循环)
i += 1
注意:使用此方法一定要加上 end = ’ ',否则在Python中两个print之间会默认换行
- 不加end = ’ ’ 的代码和效果如下:
i = 0
while i < 5: # 控制图形的高度
print('*')
print('*')
print('*')
print('*')
print('*')
print()
i += 1
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
- 优化 2 - 运用循环嵌套:
优化 2
i = 0
while i < 5: # 控制图形的高度
j = 0
while j < 5: # 控制图形的宽度
print('*', end='')
j += 1
print() # 在输入 5 个 * 后通过空换行符换行输入后 5 个 *(执行下一次循环)
i += 1
1.2 例题 - 打印如下的一个图形
解答:
步骤 1:循环嵌套的模板
i = 0
while i < : # 控制图形的高度
j = 0
while j < : # 控制图形的宽度
print('*', end='')
j += 1
print() # 在输入 5 个 * 后通过空换行符换行输入后 5 个 *(执行下一次循环)
i += 1
步骤 2:分析题目得到空缺值
步骤 3:完整代码
i = 0
while i < 5: # 控制图形的高度
j = 0
while j < i + 1: # 控制图形的宽度
print('*', end='')
j += 1
print() # 在输入 5 个 * 后通过空换行符换行输入后 5 个 *(执行下一次循环)
i += 1
练习 - 打印如下的一个图形
解题步骤同上,最终代码如下:
i = 0
while i < 5: # 控制图形的高度
j = 0
while j < 5 - i: # 控制图形的宽度
print('*', end='')
j += 1
print() # 在输入 5 个 * 后通过空换行符换行输入后 5 个 *(执行下一次循环)
i += 1
2 循环嵌套的应用 - 打印九九乘法表
步骤 1:画出九九乘法表的图形,内容用 * 表示
i = 0
while i < 9:
j = 0
while j < i + 1:
print('*', end='')
j += 1
print()
i += 1
步骤 2:填入数值
方法 1:直接填写
i = 1
while i <= 9:
j = 1
while j <= i:
print(j, '*', i, '=', i * j, ' ', end='')
j += 1
print()
i += 1
方法 2:运用字符串格式化的技巧填写
i = 0
while i < 9:
i += 1
j = 0
while j < i:
j += 1
print(f'{j} * {i} = {i*j}\t', end='')
print()
最终运行结果
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
3 continue 语句和 break 语句
3.1 continue 语句
- 功能:跳出本次循环,不执行下面循环语句,直接执行下一次循环
- 示例:
i = 0
while i < 6:
i += 1
if i == 2:
continue # 跳出本次循环,不执行下面循环语句,直接执行下一次循环(此处未执行 i = 2,所以输出的i值没有2)
print(i, ' ', end='')
else:
print('hello')
- 运行结果:
1 3 4 5 6 hello
3.2 break 语句
- 功能:立即终止循环,包括 else 语句
- 示例:
i = 0
while i < 6:
i += 1
if i == 2:
break
print(i, ' ', end='') # 此处 2 之后的循环都没有执行
else:
print('hello')
- 运行结果:
1