基本上,运行此代码后,程序将打印20、20;否则,程序将显示20、20。而我想做的是在之前的黄金中再增加20个。因此程序应打印20、40。
gold = 0
def display():
calculate(gold)
calculate(gold)
def calculate(gold):
gold += 10
gold = gold + 10
print(gold)
display()
最佳答案
看来您的目标是:
gold = 0
def display():
calculate()
calculate()
def calculate():
global gold
gold += 10
gold = gold + 10
print(gold)
display()
由于
gold
在这里是全局变量,因此您无需将其作为参数显式传递给calculate
。关于python - 为什么此函数不能正确更新变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36272296/