我使用Pycharm并在每次尝试运行代码时都会出现此错误:NameError:name' answer'没有定义。以下是有问题的代码。
array = []
while integer:
integer, value = divmod(integer, (int(target_system.get())))
array.append(VA2SY[value])
global answer
answer = (''.join(reversed(array)))
print(end)
messagebox.showinfo("Eredmény:", answer)
答案 0 :(得分:0)
以下是如何在python中使用全局变量的简短示例。
如果你想在 somefunc 中使用 global_answer ,你需要告诉python global_answer 是一个全局变量。
def somefunc():
# mark global_answer as global variable
global global_answer
while global_answer is "global":
global_answer = "Will show"
# not_global is a local variable
not_global = "Will not show"
# Declare variable
global_answer = "global"
not_global = "not global"
somefunc()
print("Global:", global_answer)
print("Not Global:", not_global)
我使用该代码实现了相同的错误消息:
def somefunc():
while global_answer is "global":
global global_answer # Line moved
global_answer = "Will show"
# Declare variable
global_answer = "global"
somefunc()
将代码行global answer
移至方法的第一行。
在使用之前检查是否定义了所有类,否则最终也会出现NameError。 more details
错误可能超出了您提供的代码。你在哪里声明全局变量的答案?