gpt4 book ai didi

python - 返回不断变化的变量python

转载 作者:行者123 更新时间:2023-11-28 21:12:07 31 4
gpt4 key购买 nike

我试图在 Python 3 中返回一个不断变化的变量,该变量在一个 while 循环中,计数到指定的数字,将其值更改为零,然后重新开始。(例如 1、2、3、4、5、0、1、2、3、4、5、0...)这是我的代码:

global x
run = True
def count(l):
x = 0
global run
while run:
x += 1
if x == l+1:
x = 0
print(x)

当我运行 count(5) 时,它打印 了想要的结果,但是 1:我试图找到一种在后台不断运行该循环的方法, 和 2:变量需要返回,而不是打印

GetCount()

并让它返回所需的结果。

我尝试将其添加到函数的末尾:

try:
return x
finally:
count(l)

但随后它因比较期间超出最大递归深度而崩溃

所以我的问题是,1:有没有办法让 x 在不达到最大递归深度的情况下不断返回?,以及 2:如果有,是否还有办法让 count() 在后台运行,这样我就可以获得 x 的当前值,如果是的话,如何获取?

最佳答案

看起来像itertools.cycle可以帮助:

import itertools as it

c = it.cycle(range(6))

for x in range(10):
print(next(c))

打印:

0
1
2
3
4
5
0
1
2
3

只需使用next(c) 获取下一个数字。

print(next(c))

现在打印:

4

因为我们之前停在了3。您可以设置您的 ID 值:

my_id = next(c)

关于python - 返回不断变化的变量python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34465813/

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