控制流程:嵌套循环与条件¶
在编程中,控制流程是指程序执行的顺序。通过使用循环和条件语句,我们可以控制程序的执行路径。嵌套循环和条件语句是控制流程中的重要概念,它们允许我们在一个循环或条件语句中嵌入另一个循环或条件语句。这种嵌套结构可以帮助我们处理更复杂的逻辑和问题。
1. 嵌套循环¶
嵌套循环是指在一个循环体内包含另一个循环体。嵌套循环通常用于处理多维数据结构,如二维数组或矩阵。
1.1 基本语法¶
1.2 示例1:打印九九乘法表¶
# 外层循环控制行数
for i in range(1, 10):
# 内层循环控制列数
for j in range(1, i + 1):
# 打印乘法表的一项
print(f"{j}*{i}={i*j}", end="\t")
# 换行
print()
解释: - 外层循环变量 i
从1到9,控制乘法表的行数。 - 内层循环变量 j
从1到 i
,控制每行的列数。 - print(f"{j}*{i}={i*j}", end="\t")
打印每一项,end="\t"
表示以制表符结尾,使输出对齐。 - print()
用于换行。
1.3 示例2:遍历二维列表¶
# 定义一个二维列表
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
# 外层循环遍历每一行
for row in matrix:
# 内层循环遍历每一列
for element in row:
# 打印每个元素
print(element, end=" ")
# 换行
print()
解释: - matrix
是一个3x3的二维列表。 - 外层循环遍历每一行,内层循环遍历每一列。 - print(element, end=" ")
打印每个元素,end=" "
表示以空格结尾,使输出在同一行。 - print()
用于换行。
2. 嵌套条件¶
嵌套条件是指在一个条件语句中嵌入另一个条件语句。嵌套条件通常用于处理复杂的逻辑判断。
2.1 基本语法¶
2.2 示例3:判断一个数的性质¶
# 输入一个数
num = int(input("请输入一个整数: "))
# 判断是否为正数
if num > 0:
# 判断是否为偶数
if num % 2 == 0:
print(f"{num} 是一个正偶数")
else:
print(f"{num} 是一个正奇数")
# 判断是否为负数
elif num < 0:
# 判断是否为偶数
if num % 2 == 0:
print(f"{num} 是一个负偶数")
else:
print(f"{num} 是一个负奇数")
else:
print(f"{num} 是零")
解释: - 首先判断 num
是否为正数,如果是,则进一步判断是否为偶数或奇数。 - 如果 num
为负数,则同样判断是否为偶数或奇数。 - 如果 num
为零,则直接输出。
3. 练习题¶
3.1 简单练习:打印星号图案¶
编写一个程序,使用嵌套循环打印以下星号图案:
提示: - 外层循环控制行数。 - 内层循环控制每行的星号数量。
3.2 中等练习:查找二维列表中的最大值¶
编写一个程序,使用嵌套循环查找并打印二维列表中的最大值。
提示: - 初始化一个变量 max_value
为列表中的第一个元素。 - 使用嵌套循环遍历列表,更新 max_value
。
3.3 复杂练习:判断一个数是否为素数¶
编写一个程序,使用嵌套循环和条件语句判断一个数是否为素数。
提示: - 素数是指只能被1和它本身整除的数。 - 使用一个循环从2到该数的平方根进行遍历,判断是否有其他因数。
4. 总结¶
- 嵌套循环:在一个循环体内包含另一个循环体,常用于处理多维数据结构。
- 嵌套条件:在一个条件语句中嵌入另一个条件语句,用于处理复杂的逻辑判断。
- 应用场景:嵌套循环和条件语句广泛应用于各种编程任务中,如遍历多维数组、打印图案、查找最大值、判断素数等。
通过掌握嵌套循环和条件语句,你可以编写出更加复杂和功能强大的程序。希望本教程能帮助你更好地理解这些概念,并通过练习巩固所学知识。