gpt4 book ai didi

Python:for 循环和 xrange()

转载 作者:行者123 更新时间:2023-12-01 04:39:16 30 4
gpt4 key购买 nike

我正在学习 Python,我遇到了一些带有 for 循环的东西。

假设我有一个程序需要 5 个数字。 (我知道这是毫无意义的,但它是一个很好的例子。)无论如何,如果我这样做,它不会重新开始它的循环:

myNumbers = []
for x in xrange(5):
try:
myNumbers.append( int(raw_input()) )
except ValueError:
myNumbers = []
x = -1

我想如果我将 x 重置为 -1 只会使 for 循环继续下去,但它从未重新启动。它仍然去了5次。我之所以把 -1 放在那里,是因为 x 之后会立即倒数到 0。我试图寻找解决方案,但没有任何解决方案。谢谢你帮助我。

最佳答案

xrange() (或 range() )称为生成器函数,x 就像 for 循环分配的局部变量循环中的下一个值。

xrange() 返回参数 1 到 1 给定范围内的值,for 循环将其分配给变量 x。因此,即使您在循环内更改 x 的值,xrange() 也不知道此类更改,并且仍会提供范围内的下一个值。

生成器函数示例 -

def myrange(a):
i = 0
while i < a:
yield i
i = i + 1

>>> for x in myrange(10):
... print(x)
... x = 1
...
0
1
2
3
4
5
6
7
8
9

x 中的值更改永远不会传播回 range()xrange() 函数。

关于Python:for 循环和 xrange(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31119867/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com