>>> Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Maximillian\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 1705, in __call__
return self.func(*args)
File "C:\Python-koding\steinsakspapir.py", line 64, in scissors
botwin += 1
UnboundLocalError: local variable 'botwin' referenced before assignment
-尝试从其余代码中删除botwin和youwin -尝试使用youwin = youwin + 1
def scissors():
bot = random.randint(1,3)
user = 3
if user == bot:
printfuver = ("Stalemate, booth players choose scissors")
printfu = Label(lowerframe, text=printfuver, fg="blue")
printfu.pack()
if user == 3 and bot == 1:
printfuver = ("Rock crushes scissors, bot win! ")
printfu = Label(lowerframe, text=printfuver, fg="red")
printfu.pack()
botwin += 1
if user == 3 and bot == 2:
printfuver = ("Scissors cut paper, you win! ")
printfu = Label(lowerframe, text=printfuver, fg="green")
printfu.pack()
youwin += 1
只希望每次运行该功能后,botwin的值就增加1。
预先感谢
答案 0 :(得分:0)
除了代码中的缩进错误外,这可能是范围问题。检查并确保您的代码中有botwin = 0
或类似内容。如果该代码在函数中或超出全局范围,则将其放在代码的顶部。然后,在引用它的所有函数中,将global botwin
放在函数的开头,如here所述。
希望对您有帮助。