更新 Python 计划中的变量

Updating a variable in Python Schedule

使用 python 时间表,我无法将更新后的输出反馈给变量。有实现此目的的聪明方法吗?

x = 10

from schedule import every, repeat, run_pending
import time

@repeat(every(3).seconds, x)
def yee(x):
    x = x * 2
    print(x)
    return x

while x != 80:
    run_pending()
    time.sleep(1)

目前我得到这样的输出:

20
20
20

但我希望得到这样的输出:

20
40
80

如果要更新全局,则必须使用global 语句。现在,您将全局 x 设置一次(设置为 10)。函数中的名称 x 完全是本地的。而且没有任何退货的意义。

@repeat(every(3).seconds)
def yee():
    global x
    x *= 2
    print(x)