来源
http://news.hlkjfj.com
http://play.hlkjfj.com
http://vip.hlkjfj.com
http://p.hlkjfj.com
http://m.hlkjfj.com 循环嵌套是指在一个循环体内部包含另一个或多个循环的结构。在Python中,for循环和while循环都可以相互嵌套使用。
循环嵌套的应用场景:
在Python中,for循环嵌套是最常用的循环结构之一。
for 外层变量 in 外层序列:
# 外层循环体
for 内层变量 in 内层序列:
# 内层循环体
# 可以访问外层变量和内层变量# 打印9x9乘法表
for i in range(1, 10): # 外层循环控制行
for j in range(1, i+1): # 内层循环控制列
print(f"{j}×{i}={i*j}", end="\t")
print() # 换行# 遍历二维矩阵
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
for row in matrix: # 外层循环遍历行
for element in row: # 内层循环遍历列元素
print(element, end=" ")
print() # 每行结束后换行while循环嵌套适用于需要根据条件进行多层迭代的情况。
while 外层条件:
# 外层循环体
while 内层条件:
# 内层循环体
# 可以修改内层条件变量
# 修改外层条件变量# 打印星形金字塔
rows = 5
i = 1
while i <= rows:
# 打印空格
j = 1
while j <= rows - i:
print(" ", end="")
j += 1
# 打印星号
k = 1
while k <= 2*i - 1:
print("*", end="")
k += 1
print() # 换行
i += 1# 猜数字游戏(多层while循环)
import random
max_attempts = 3
play_again = True
while play_again:
number = random.randint(1, 10)
attempts = 0
guessed = False
print("\n新游戏开始!猜一个1-10之间的数字")
while not guessed and attempts < max_attempts:
guess = int(input("你的猜测: "))
attempts += 1
if guess == number:
print(f"恭喜!你在{attempts}次尝试后猜对了!")
guessed = True
elif guess < number:
print("猜小了,再试试!")
else:
print("猜大了,再试试!")
if not guessed:
print(f"游戏结束,正确数字是: {number}")
# 询问是否再玩一次
again = input("再玩一次?(y/n): ").lower()
play_again = again == 'y'在实际编程中,for循环和while循环可以混合使用。
# 混合循环:处理学生成绩
students = [
{"name": "张三", "scores": [85, 92, 78]},
{"name": "李四", "scores": [76, 88, 95]},
{"name": "王五", "scores": [90, 92, 87]}
]
# 外层for循环遍历学生
for student in students:
print(f"学生: {student['name']}")
# 内层while循环处理成绩
index = 0
total = 0
scores = student['scores']
while index < len(scores):
total += scores[index]
index += 1
average = total / len(scores)
print(f"平均分: {average:.1f}")
# 判断等级
if average >= 90:
print("等级: A")
elif average >= 80:
print("等级: B")
elif average >= 70:
print("等级: C")
else:
print("等级: D")
print("-" * 30)使用循环嵌套时需要注意:
# 在二维列表中查找元素
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
target = 5
found = False
for i, row in enumerate(matrix):
for j, value in enumerate(row):
if value == target:
print(f"找到 {target} 在位置 ({i}, {j})")
found = True
break # 退出内层循环
if found:
break # 退出外层循环循环嵌套是Python编程中的重要概念,掌握for和while循环的嵌套使用能有效处理复杂问题:
练习建议:
尝试编写以下程序巩固循环嵌套知识:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。