2024-06-06 11:51:23 发布
网友
我有一些错误代码:
UnboundLocalError: local variable 'truebomb' referenced before assignment.
在我的代码中,我有一个变量b。每次代码运行时,我都将1加到b。b原来是1,根据我的代码,它将满足等式。在
b
truebomb未设置为任何值,因为random.randint(1,9)不等于8,truebomb仅在{}为8时设置为值。如何解决这个问题:在开始游戏循环之前将truebomb设置为False。在
truebomb
random.randint(1,9)
False
您的bomb变量也有相同的问题。在循环的第二次迭代中,将发生错误,因为b!=1。变量需要在使用之前分配给值!!
bomb
b!=1
如果bomb != 8,truebomb从未设置。在
bomb != 8
不管bomb的值是多少,您仍然要求代码评估truebomb的真实性。当truthbomb不存在时,会出现一个错误。在
truthbomb
如果出于某种原因您不想在bomb != 8时设置truebomb,那么可以捕捉异常,如下所示:
try: if truebomb: game = False except UnboundLocalError: print('truebomb not set, continuing...') continue
否则,9.0建议在开始时设置truebomb = False是最好的方法。在
truebomb = False
请注意,您实际上根本不需要truebomb。 您可以在^{时设置game = False。 另外,bomb是整数,不是字符串,因此与8而不是'8'进行比较:
game = False
8
'8'
truebomb
未设置为任何值,因为random.randint(1,9)
不等于8,truebomb
仅在{truebomb
设置为False
。在您的
bomb
变量也有相同的问题。在循环的第二次迭代中,将发生错误,因为b!=1
。变量需要在使用之前分配给值!!如果
bomb != 8
,truebomb
从未设置。在不管
bomb
的值是多少,您仍然要求代码评估truebomb
的真实性。当truthbomb
不存在时,会出现一个错误。在如果出于某种原因您不想在
bomb != 8
时设置truebomb
,那么可以捕捉异常,如下所示:否则,9.0建议在开始时设置
truebomb = False
是最好的方法。在请注意,您实际上根本不需要时设置
^{pr2}$truebomb
。您可以在^{
game = False
。另外,
bomb
是整数,不是字符串,因此与8
而不是'8'
进行比较:相关问题 更多 >
编程相关推荐