计算机以其执行人们认为无聊和耗能的事情的能力而闻名。例如,重复相同的任务而没有任何错误就是其中之一。在本主题中,我们将了解哪些 Python 工具可以帮助您,如何实现它,以及您可以使用哪些功能。
什么是迭代?
在 Python 中,重复执行相同代码块的过程称为迭代。
有两种类型的迭代:
确定迭代,其中重复的次数是预先说明的。
无限迭代,只要预先声明的条件为真,代码块就会执行。
在第一次迭代之后,程序回到代码主体的开头并重复它,形成一个所谓的循环。最广泛使用的是for
循环,以for
操作符命名,它提供代码的执行。
For 循环语法
这是循环的方案:
for variable in iterable:
statement
其中statement
是为 中的每个项目执行的操作块,迭代中使用的对象(例如,字符串或列表)。每次迭代后取下一个可迭代对象的值。 iterable
Variable
现在尝试猜测如果我们执行以下代码会得到什么输出:
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()
此外,您可以在函数的帮助下控制迭代次数。注意语法:额外的缩进或缺少冒号会导致错误!