• 周四. 11月 21st, 2024

Python 循环语句详细用法

城主

12月 25, 2022 ,

在 Python 中,有两种循环语句:for 循环和 while 循环。

for 循环

for 循环是一种迭代循环,它遍历一个序列或其他可迭代对象中的元素。

在 Python 中,可以使用 for 循环来遍历任何可迭代对象,包括列表、字符串、元组和字典。

例如,下面的代码使用 for 循环来遍历列表中的元素:





colors = ['red', 'green', 'blue']
for color in colors:
    print(color)

输出:





red
green
blue

在这个例子中,color 是一个循环变量,每次迭代都会更新为列表中的下一个元素。

还可以使用内置函数 range() 来生成数字序列,然后使用 for 循环遍历它们:





for i in range(5):
    print(i)

输出:





0
1
2
3
4

可以使用 range() 函数的第二个和第三个参数指定起始和结束位置,例如:





for i in range(2, 6):
    print(i)

输出:





2
3
4
5

还可以使用第三个参数来指定步长,例如:





for i in range(0, 10, 2):
    print(i)

输出:





0
2
4
6
8

while 循环

while 循环是一种条件循环,它会在满足给定的条件时重复执行代码块。

例如,下面的代码使用 while 循环计算 1 到 10 的总和:





sum = 0
i = 1
while i <= 10:
    sum += i
    i += 1
print(sum)

输出:





55

在这个例子中,变量 i 是循环控制变量,每次迭代都会自增 1。条件 i <= 10 指定了循环的结束条件。

阅读  Python 补丁的作用

在执行 while 循环时,需要注意条件的更新,以免陷入死循环。

例如,下面的代码会陷入死循环,因为条件始终为真:





while True:
    print('Hello, World!')

此外,还可以使用 break 语句在循环内部退出循环,例如:





i = 1
while True:
    print(i)
    i += 1
    if i > 10:
        break

输出:





1
2
3
4
5
6
7
8
9
10

使用 continue 语句可以在循环内部跳过剩余代码,直接进入下一次迭代。例如:





for i in range(1, 11):
    if i % 2 == 0:
        continue
    print(i)

输出:





1
3
5
7
9

do while 循环

除了 for 循环和 while 循环,还有另一种循环语句叫做 do while 循环,它是一种条件循环,其中循环体至少会执行一次,然后再判断循环条件。

但是,在 Python 中并没有专门的 do while 循环语句。但是,可以使用 while True 循环加上 break 语句来模拟 do while 循环的效果。

例如,下面的代码模拟了一个 do while 循环,它会在用户输入的数字大于 0 时继续执行循环:





while True:
    n = int(input('Enter a number (0 to exit): '))
    if n == 0:
        break
    print(n**2)

此外,还有一种类似于循环的控制结构叫做 for/else 循环。它与普通的 for 循环相似,但是在循环正常结束(即没有被 break 语句中断)时会执行 else 块中的代码。

阅读  Python 类型注解详细用法

例如,下面的代码会在列表中找到数字 4 后终止循环,然后执行 else 块中的代码:





for n in [1, 2, 3, 4, 5]:
    if n == 4:
        break
else:
    print('Number not found')

输出:





Number not found

在这个例子中,else 块中的代码并没有执行,因为在循环内部使用了 break 语句终止了循环。

此外,还可以使用 continue 语句在循环内部跳过剩余代码,直接进入下一次迭代。例如:





for n in [1, 2, 3, 4, 5]:
    if n % 2 == 0:
        continue
    print(n)

输出:





1
3
5

上面介绍的就是Python循环语句常用的几种方法。