Python ';罐子';分配前参考
当我尝试在Point.py中使用def getLotteryGame()时,它总是告诉我Python ';罐子';分配前参考,python,Python,当我尝试在Point.py中使用def getLotteryGame()时,它总是告诉我 'pot' refernced before assignment. 代码如下: pot = 1 class Point: def buyLottery(name, amount): Point.startPoint(name) amount = int(amount) multiplier = random.randint(amount, 217)
'pot' refernced before assignment.
代码如下:
pot = 1
class Point:
def buyLottery(name, amount):
Point.startPoint(name)
amount = int(amount)
multiplier = random.randint(amount, 217)
pot = int(pot+multiplier)
if name not in players:
if Point.getCost(name, amount) == True:
players.append(name)
return "%s has joined the the lottery for %s P$ which magically grew to %s P$!" % (name.title(), Point.amountCost(name, amount, multiplier)
在这一行
pot = int(pot+multiplier)
甚至在赋值之前,您就已经在使用pot
。如果要使用pot
,则需要明确地告诉Python,如下所示
def buyLottery(name, amount):
global pot
...
pot = int(pot+multiplier)
啊,谢谢。是的,我以前从未真正使用过类外的对象。因此,如果我使用类外的另一个对象,如lotteryStart=time.time(),我是否也需要对其进行全局设置?@user3103923如果您要更改函数中的
lotteryStart
,那么您也必须对其进行global
更改。如果您只是访问它,则不需要global
it@user3103923欢迎光临:请考虑接受这个答案。