【发布时间】:2013-01-18 15:51:12
【问题描述】:
我正在学习 python,但在使用全局变量/列表时遇到了问题。我正在编写一个基本的hanoi手动塔程序,这是目前的程序:
pilar1 = [5,4,3,2,1,0]
pilar2 = [0,0,0,0,0,0]
pilar3 = [0,0,0,0,0,0]
def tower_of_hanoi():
global pillar1
global pillar2
global pillar3
print_info()
def print_info():
global pillar1
global pillar2
global pillar3
for i in range(4,-1,-1):
print(pillar1[i], " ", pillar2[i], " ", pillar3[i])
我尝试了一些变体,但每次都收到错误“NameError: global name 'pillar1' is not defined”。
在此设置中处理全局列表的最佳方式是什么?如果可能的话,我宁愿只使用一个源文件。谢谢!
【问题讨论】:
-
那些
global语句都没有做任何事情。摆脱它们。 -
请注意,全局变量通常不是一个好主意 - 将值传递给您的函数并返回值 - 全局变量导致的问题比它们解决的问题更多。