Python 中有几种常用的循环语句,主要包括 for 循环和 while 循环。

1. for 循环

概述

for 循环用于遍历一个序列(如列表、元组、字符串、字典等)中的元素。它将序列中的每一个元素依次取出,并将它赋值给指定的变量,然后执行循环体中的代码。

语法

for variable in iterable:
    # 执行的代码
  • variable:每次循环中取出的元素值,可以是任何合法的变量名。
  • iterable:一个可以被迭代的对象,比如列表、元组、字符串、字典、集合、range() 等。

基本示例

  1. 遍历列表:
numbers = [1, 2, 3, 4, 5]
for num in numbers:
    print(num)

输出:

1
2
3
4
5
  1. 遍历字符串:
word = "hello"
for char in word:
    print(char)

输出:

h
e
l
l
o

使用 range() 函数

range() 函数通常和 for 循环一起使用,用来生成一个整数序列。range() 生成的是一个迭代器,能够逐个返回序列中的整数。

# 从 0 到 4
for i in range(5):  
    print(i)

输出:

0
1
2
3
4

range() 可以接受三个参数:

range(start, stop, step)
  • start:序列开始的值(默认是 0)。
  • stop:序列结束的值(但不包括该值)。
  • step:步长,表示每次增加的值(默认是 1)。

例如:

for i in range(1, 10, 2):  # 从 1 到 9,每次加 2
    print(i)

输出:

1
3
5
7
9

遍历字典

字典是一种键值对数据结构,可以通过 items() 方法遍历字典的键值对:

student_scores = {"Alice": 90, "Bob": 85, "Charlie": 92}
for name, score in student_scores.items():
    print(f"{name}: {score}")

输出:

Alice: 90
Bob: 85
Charlie: 92
  • items() 返回一个包含所有键值对的迭代器。

我们还可以单独遍历字典的键或值:

# 只遍历键
for name in student_scores.keys():
    print(name)

# 只遍历值
for score in student_scores.values():
    print(score)

嵌套 for 循环

我们还可以使用嵌套循环来遍历多维数据结构,如二维列表。

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]
for row in matrix:
    for element in row:
        print(element)

输出:

1
2
3
4
5
6
7
8
9

2. while 循环

概述

while 循环是一个条件驱动的循环,只有当条件表达式为 True 时,循环才会继续执行。如果条件为 False,循环会停止。

语法

while condition:
    # 执行的代码
  • condition:是一个条件表达式,计算结果为 TrueFalse。只要条件为 True,循环就会一直执行。

基本示例

count = 0
while count < 5:
    print(count)
    count += 1

输出:

0
1
2
3
4

这里,count 初始为 0,每次循环后加 1,直到 count 不再小于 5,条件变为 False,循环终止。

无限循环

如果条件始终为 Truewhile 循环会变成一个无限循环。例如:

while True:
    print("This will run forever unless you stop it!")

这将打印一个无限的字符串,直到你手动中止程序(比如按 Ctrl+C)。

使用 breakcontinue 控制循环

  • break 用来跳出整个循环。
  • continue 用来跳过当前迭代,进入下一次循环。

break 示例:

count = 0
while count < 10:
    if count == 5:
        break  # 当 count 等于 5 时,退出循环
    print(count)
    count += 1

输出:

0
1
2
3
4

continue 示例:

count = 0
while count < 5:
    count += 1
    if count == 3:
        continue  # 跳过当前的迭代,继续下一次循环
    print(count)

输出:

1
2
4
5

else 子句

while 循环中,else 子句与在 for 循环中的用法类似。它会在循环正常结束时执行(即条件不再为 True 时)。但如果循环是通过 break 语句提前结束的,else 部分就不会执行。

count = 0
while count < 5:
    print(count)
    count += 1
else:
    print("循环结束")  # 当条件为 False 时执行

输出:

0
1
2
3
4
循环结束

3. breakcontinue

break 语句

break 用来提前终止循环。当程序执行到 break 时,循环会立即终止,控制流将跳出循环体。

示例:

for i in range(10):
    if i == 5:
        break  # 当 i 等于 5 时,终止循环
    print(i)

输出:

0
1
2
3
4

continue 语句

continue 用来跳过当前循环体的剩余部分,直接进入下一次循环。

示例:

for i in range(5):
    if i == 3:
        continue  # 当 i 等于 3 时,跳过当前迭代,继续下一个
    print(i)

输出:

0
1
2
4

4. 综合示例

forwhilebreakcontinue 等结合使用:

# 找出1到10中的所有素数
for num in range(2, 11):  # 从2到10
    for i in range(2, num):
        if num % i == 0:  # 如果 num 能被 i 整除,则不是素数
            break
    else:  # 如果循环正常结束(没有触发 break),说明 num 是素数
        print(num)

输出:

2
3
5
7

总结

  • for 循环:适合遍历序列或已知次数的循环。
  • while 循环:适合基于条件执行的循环,循环次数不一定预先确定。
  • break:提前终止循环。
  • continue:跳过当前迭代,进入下一次循环。
  • else:当循环正常结束时执行。
Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐