当前位置:  开发笔记 > 编程语言 > 正文

返回不断变化的变量python

如何解决《返回不断变化的变量python》经验,为你挑选了1个好方法。

我试图在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的当前值价值,如果是这样如何?



1> Mike Müller..:

看起来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)

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有