UnboundLocalError:在assignmen之前引用了局部变量“truebomb”

2024-06-06 11:51:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些错误代码:

UnboundLocalError: local variable 'truebomb' referenced before assignment. 

在我的代码中,我有一个变量b。每次代码运行时,我都将1加到bb原来是1,根据我的代码,它将满足等式。在

^{pr2}$

Tags: 代码localvariableassignmentbefore错误代码代码运行等式
2条回答

truebomb未设置为任何值,因为random.randint(1,9)不等于8,truebomb仅在{}为8时设置为值。如何解决这个问题:在开始游戏循环之前将truebomb设置为False。在

您的bomb变量也有相同的问题。在循环的第二次迭代中,将发生错误,因为b!=1变量需要在使用之前分配给值!!

如果bomb != 8truebomb从未设置。在

不管bomb的值是多少,您仍然要求代码评估truebomb的真实性。当truthbomb不存在时,会出现一个错误。在

如果出于某种原因您不想在bomb != 8时设置truebomb,那么可以捕捉异常,如下所示:

try:
    if truebomb:
        game = False

except UnboundLocalError:
    print('truebomb not set, continuing...')
    continue

否则,9.0建议在开始时设置truebomb = False是最好的方法。在

请注意,您实际上根本不需要truebomb
您可以在^{时设置game = False
另外,bomb是整数,不是字符串,因此与8而不是'8'进行比较:

^{pr2}$

相关问题 更多 >