【发布时间】:2015-12-25 19:39:22
【问题描述】:
我试图在 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 的当前值,如果可以的话怎么办?
【问题讨论】:
-
您能否提供有关返回不断变化的变量的根本愿望的任何细节?跟踪的变量是什么,为什么需要不断地而不是根据需要进行跟踪?
-
请描述你对这个程序的意图,因为我怀疑你需要别的东西而不是“不断返回值”。
-
该程序的目标是让我访问它 elseware 并调用 count(),以找到 x 的当前值。例如,如果我想在用户 ID 的末尾附加一个数字。
-
具有自动递增字段的数据库表是不可能的吗?我想我应该澄清我的问题,用例是什么?您想为用户 ID 提供一些唯一性吗?为什么不使用指南?
-
user-id 只是一个例子......