在 Python 中,循环是我们用来高效重复执行特定操作的机制。主要有两种类型:For 循环(用于遍历序列中的元素)和 While 循环(基于条件判断)。
For 循环用于遍历序列,例如列表、元组、字符串或 range 对象。它允许我们重复执行一段代码,序列中的每个元素都会执行一次。
Python
n = 4
for i in range(0, n):
print(i)
Output
0
1
2
3
解释: 这段代码使用 for 循环打印从 0 到 3 的数字。它遍历从 0 到 n-1(此处 n = 4)的范围。!forloopFor 循环
示例: 使用 for 循环遍历列表、元组、字符串和字典
Python
li = ["geeks", "for", "geeks"]
for x in li:
print(x)
tup = ("geeks", "for", "geeks")
for x in tup:
print(x)
s = "abc"
for x in s:
print(x)
d = dict({‘x‘:123, ‘y‘:354})
for x in d:
print("%s %d" % (x, d[x]))
set1 = {10, 30, 20}
for x in set1:
print(x),
Output
geeks
for
geeks
geeks
for
geeks
a
b
c
x 123
y 354
10
20
30
通过索引进行迭代
我们还可以利用序列中元素的索引来进行迭代。核心思路是先计算列表的长度,然后在这个长度范围内遍历序列。
Python
li = ["geeks", "for", "geeks"]
for index in range(len(li)):
print(li[index])
Output
geeks
for
geeks
解释: 这段代码通过索引遍历列表中的每一个元素并逐个打印。range(len(list)) 会生成从 0 到列表长度减 1 的索引值。
在 Python 中,while 循环用于重复执行一段语句,直到给定的条件不再满足。当条件变为 False 时,程序将执行循环体之后紧接着的代码。
在下面的代码中,只要条件 cnt < 3 为真,循环就会一直运行。它在每次迭代中将计数器加 1,并打印三次 "Hello Geek"。
Python
cnt = 0
while (cnt < 3):
cnt = cnt + 1
print("Hello Geek")
Output
Hello Geek
Hello Geek
Hello Geek
!whileloopWhile 循环
无限 While 循环
如果我们希望一段代码无限次地执行,我们可以使用 Python 中的 while 循环来实现。
下面的代码使用了条件为 "True" 的 ‘while‘ 循环,这意味着循环将无限运行,直到我们使用 "break" 关键字或其他逻辑强制跳出。
Python
while (True):
print("Hello Geek")
> 注意: 建议不要使用这种类型的循环,因为它是一个永无止境的无限循环(条件始终为真),我们通常必须强制终止编译器才能停止它。
Python 编程语言允许我们在一个循环内部使用另一个循环,这被称为嵌套循环。下面的例子阐明了这一概念。
Python
from future import print_function
for i in range(1, 5):
for j in range(i):
print(i, end=‘ ‘)
print()
Output
1
2 2
3 3 3
4 4 4 4
解释: 在上面的代码中,我们使用嵌套循环在每一行中多次打印 i 的值,其中每行打印 i 的次数随着外层循环的迭代而增加。print() 函数负责打印 i 的值,并在每行结束后换行。
关于循环嵌套的最后一点是,我们可以将任何类型的循环放在 Python 的任何其他类型的循环内部。例如,for 循环可以放在 while 循环内部,反之亦然。
循环控制语句
循环控制语句会改变其正常的执行顺序。当执行离开某个作用域时,在该作用域中创建的所有自动对象都会被销毁。Python 支持以下控制语句。
Continue 语句
Python 中的 continue 语句将控制权返回到循环的开头。
Python
for letter in ‘geeksforgeeks‘:
if letter == ‘e‘ or letter == ‘s‘:
continue
print(‘Current Letter :‘, letter)
Output
Current Letter : g
Current Letter : k
Current Letter : f
Current Letter : o
Current Letter : r
Current Letter : g
Current Letter : k
解释: continue 语句用于跳过循环的当前迭代,直接进入下一次迭代。当我们希望在某些条件下忽略特定操作时,这非常有用。