计算机以其执行人们认为无聊和耗能的事情的能力而闻名。例如,重复相同的任务而没有任何错误就是其中之一。在本主题中,我们将了解哪些 Python 工具可以帮助您,如何实现它,以及您可以使用哪些功能。


什么是迭代?


在 Python 中,重复执行相同代码块的过程称为迭代

有两种类型的迭代:

确定迭代,其中重复的次数是预先说明的。

无限迭代,只要预先声明的条件为真,代码块就会执行。

在第一次迭代之后,程序回到代码主体的开头并重复它,形成一个所谓的循环。最广泛使用的是for循环,以for操作符命名,它提供代码的执行。


For 循环语法



这是循环的方案:

for variable in iterable:
    statement

其中statement是为 中的每个项目执行的操作块,迭代中使用的对象(例如,字符串或列表)。每次迭代后取下一个可迭代对象的值。 iterableVariable

现在尝试猜测如果我们执行以下代码会得到什么输出:

oceans = ['Atlantic', 'Pacific', 'Indian', 'Southern', 'Arctic']
for ocean in oceans:
    print(ocean)

在每次迭代期间,程序将从列表中获取项目并使用它们执行语句,因此输出将是:

Atlantic
Pacific
Indian
Southern
Arctic

字符串也是可迭代的,因此您可以拼写一个单词,例如:

for char in 'magic':
    print(char)

像这样:

m
a
g
i
c



range函数功能


range()函数用于指定迭代次数。它返回从 0 开始的数字序列(默认情况下)并以指定的数字结束。注意:最后一个数字不会出现在输出中。

让我们看下面的例子:

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

我们将得到的是:

0
1
2
3
4

如果您对 0 不满意,您可以更改起始值,此外,您可以通过添加第三个参数来配置增量(步长)值:

for i in range(5, 45, 10):
    print(i)

根据包含的参数,我们要求打印从 5 到 45 的数字,增量值为 10。再次注意,最后一个值不包含在输出中:

5
15
25
35

如果您不打算在循环中使用 counter 变量,则可以通过将其名称替换为下划线符号来显示它:

for _ in range(100):
    do_smth()

在上面的例子中,我们不需要 counter 变量,我们只是使用循环来重复do_smth()函数给定的次数。


输入数据处理


您还可以使用该input()函数,它可以帮助用户将值传递给某个变量并使用它。因此,您可以获得与前一段代码相同的输出:

word = input()
for char in word:
    print(char)

哦,看,你可以写一段有实际用途的代码:

times = int(input('How many times should I say "Hello"?'))
for i in range(times):
    print('Hello!')

因此,您可以要求用户指定要执行的迭代次数。



嵌套循环



在 Python 中,很容易将一个循环放入另一个循环中——嵌套循环。内循环和外循环的类型无关紧要,首先执行的是外循环,然后执行内循环:

names = ['Rose', 'Daniel']
surnames = ['Miller']
for name in names:
    for surname in surnames:
         print(name, surname)

输出如下所示:

Rose Miller
Daniel Miller

查看可视化以更好地了解代码的工作原理。在这个例子中,我们使用两个for循环来创建虚构的人名。显然,您可以处理不同大小的可迭代对象而不必大惊小怪。


概括


总而言之,for循环是自动化一些重复动作的有效方式。您可以添加变量和操作来创建嵌套循环。range()此外,您可以在函数的帮助下控制迭代次数。注意语法:额外的缩进或缺少冒号会导致错误!