您的位置:

Python循环语句:控制程序流程

一、循环语句介绍

在编程的世界里,循环语句是一个非常强大的工具。通过循环语句,可以让程序重复执行一段代码,从而节省时间和精力。Python中有两种循环语句,分别是for循环和while循环。

for循环适用于已知循环次数的情况,它可以遍历一些可迭代对象,如字符串、列表、元组、集合和字典。而while循环则适用于不知道循环次数的情况,它会一直循环,直到满足指定条件为止。

二、for循环

for循环语法如下:

for 变量 in 可迭代对象:
    代码块

其中,变量表示每次循环中从可迭代对象中取出的值,可迭代对象可以是列表、元组、字符串等。

下面是一个简单的示例:

fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
    print(fruit)

输出结果如下:

apple
banana
cherry

可以看到,上面的代码遍历了一个列表,并将列表中的每个元素打印出来。

三、while循环

while循环语法如下:

while 条件语句:
    代码块

其中,条件语句为True时,会一直执行后面的代码块,直到条件语句为False时,才会停止循环。

下面是一个简单的示例:

i = 1
while i <= 5:
    print(i)
    i += 1

输出结果如下:

1
2
3
4
5

可以看到,上面的代码使用while循环输出了1到5之间的数字。

四、循环控制语句

Python中有三种循环控制语句,它们分别是break、continue和pass。

break语句可以用来终止循环,并跳出循环体。例如:

fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
    if fruit == 'banana':
        break
    print(fruit)

输出结果如下:

apple

可以看到,当循环到'banana'时,代码使用break语句跳出了循环。

continue语句可以用来跳过当前循环中的某些代码,进入下一次循环。例如:

fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
    if fruit == 'banana':
        continue
    print(fruit)

输出结果如下:

apple
cherry

可以看到,代码使用continue语句跳过了循环中的'banana',并进入下一次循环。

pass语句用于占位符,当程序需要有一个语句时,但是目前还没有想好该语句内容时,可以用pass作为占位符。例如:

for i in range(5):
    pass

上面的代码使用pass作为占位符,保证了代码的完整性。

五、循环嵌套

循环语句也可以嵌套使用,这在复杂的业务逻辑中非常常见。例如:一个班级有若干个学生,每个学生修了多门课程,现在需要计算每个学生的平均成绩和班级的平均成绩。

使用双层for循环可以解决这个问题。外层循环遍历每个学生,内层循环遍历每个学生修过的课程。例如:

# 定义一个班级
class_list = [
    {'name': '张三', 'courses': {'语文': 90, '数学': 80, '英语': 70}},
    {'name': '李四', 'courses': {'语文': 95, '数学': 85, '英语': 75}},
    {'name': '王五', 'courses': {'语文': 100, '数学': 90, '英语': 80}}
]

# 计算每个学生的平均成绩和班级的平均成绩
total_score = 0    # 所有学生的总成绩
total_count = 0    # 所有学生修过的总课程数

for student in class_list:
    student_score = 0    # 当前学生的总成绩
    student_count = 0    # 当前学生修过的课程数
    for score in student['courses'].values():
        student_score += score
        student_count += 1
    student_avg_score = student_score / student_count
    print(f"{student['name']}的平均成绩为:{student_avg_score:.2f}")
    total_score += student_score
    total_count += student_count

class_avg_score = total_score / total_count
print(f"班级平均成绩为:{class_avg_score:.2f}")

输出结果如下:

张三的平均成绩为:80.00
李四的平均成绩为:85.00
王五的平均成绩为:90.00
班级平均成绩为:85.56

可以看到,代码使用双层for循环计算了每个学生的平均成绩和班级的平均成绩。

总结

循环语句是编程中非常重要的一个概念,它可以节省我们大量的时间和精力。Python中的循环语句非常简洁易懂,但是在实践中也需要注意一些细节问题,例如循环控制语句和循环嵌套等。希望本文能够对大家学习Python循环语句有所帮助。