gold = 0
def load_gold():
e = open('gold.txt', 'r')
ee = e.readline()
gold = int(ee)
load_gold()
在文件中,唯一的信息是
-1
保存功能可以正常工作,但是每当我重新加载并运行程序时,它都会将gold重置为0。
答案 0 :(得分:1)
问题是您的gold
变量的作用域。
在代码的第一行中,声明一个名为gold
的变量。此变量的作用域是全局的。您可以在gold
函数中创建一个新的独立变量,也称为load_gold
。此变量的作用域仅在函数内部。它没有与该单独的全局gold
变量交互,并且在函数完成运行后将其销毁。
以下代码将实现您的目标:
gold = 0
def load_gold(gold):
e = open('gold.txt', 'r')
ee = e.readline()
gold = int(ee)
return gold
gold = load_gold()
答案 1 :(得分:0)
gold
被声明为全局变量,因此,如果要在方法中进行更改,则需要声明该方法为全局变量。像这样:
gold = 0
def load_gold():
global gold
e = open('gold.txt', 'r')
ee = e.readline()
gold = int(ee)
load_gold()