困惑于;“全球”&&引用;“非本地”;代码(PYTHON/TKINTER)(UnboundLocalError:)

困惑于;“全球”&&引用;“非本地”;代码(PYTHON/TKINTER)(UnboundLocalError:),python,tkinter,Python,Tkinter,我正在将纯shell代码转换为GUI 我的问题是我在一个def函数中定义了一个变量,我想在第二个def函数中运行这个变量。我试图使变量成为全局变量,但仍然出现错误 下面是我的代码; (请注意两个def功能) 当我操作程序时,GUI打开。当我单击名为“diceButton”(运行命令“throwdice”)的GUI按钮时,我在shell中获得了预期的结果 但是,当我单击GUI“guessButton”(运行命令“takeGuess”)时,我收到错误“NameError:name'diceResul

我正在将纯shell代码转换为GUI

我的问题是我在一个def函数中定义了一个变量,我想在第二个def函数中运行这个变量。我试图使变量成为全局变量,但仍然出现错误

下面是我的代码; (请注意两个def功能)

当我操作程序时,GUI打开。当我单击名为“diceButton”(运行命令“throwdice”)的GUI按钮时,我在shell中获得了预期的结果

但是,当我单击GUI“guessButton”(运行命令“takeGuess”)时,我收到错误“NameError:name'diceResult'未定义”

外壳输出:

10
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\shane\AppData\Local\Programs\Python\Python38-32\lib\tkinter\__init__.py", line 1883, in __call__
    return self.func(*args)
  File "C:\Users\shane\source\repos\ICT30118 CertIII Assessment\ICT30118 CertIII Assessment\ICT30118_CertIII_Assessment.py", line 54, in takeGuess
    count = diceResult   #NameError: name 'diceResult' is not defined
NameError: name 'diceResult' is not defined
我试图对这个问题做一些研究,但是我仍然感到困惑。
。如果在单击“掷骰子”按钮之前单击“猜测”按钮,
diceResult
将不存在,并且您的问题中会出现错误

换句话说,问题不在于如何将变量定义为全局变量,而在于最初定义变量的时间。

我只是将“diceResult”移到函数之外,现在我正在取得进展,感谢您的帮助。
10
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\shane\AppData\Local\Programs\Python\Python38-32\lib\tkinter\__init__.py", line 1883, in __call__
    return self.func(*args)
  File "C:\Users\shane\source\repos\ICT30118 CertIII Assessment\ICT30118 CertIII Assessment\ICT30118_CertIII_Assessment.py", line 54, in takeGuess
    count = diceResult   #NameError: name 'diceResult' is not defined
NameError: name 'diceResult' is not defined