在 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
指定了循环的结束条件。
在执行 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
块中的代码。
例如,下面的代码会在列表中找到数字 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循环语句常用的几种方法。