使用一个变量使另一个变大但使第一个变小

With one variable make another one bigger but make the first one smaller

我想做到这一点,所以当我升级时,级别会上升,但点击次数会因升级成本而下降,但是当我这样做时,它会给我这个错误:

line 19, in upgrade
    if clicks >= 10: UnboundLocalError: local variable 'clicks' referenced before assignment

代码如下:

def counter():
    global clicks
    for i in range(0, level):
        clicks += 1
    score.config(text="Score: " + str(clicks))

def upgrade():
    global level
    if clicks >= 10:
        level += 1
        clicks -= 10
    levelLabel.config(text="Upgrade: " + str(level))

你看到第一个函数开头的 global clicks 了吗?您还必须在其他函数中执行此操作,前提是 clicks 变量存在于 global 范围内。


global x

def foo():
    x = 42

def bar():
    global x
    x = 42

x = 69
foo()
print(x) # 69
bar()
print(x) # 42