我是一个新手程序员,想用Python 3.3.2编写一个程序,它有一个main()
函数,调用function1()
,然后循环function2()
和function3()
。
我的代码通常如下所示:
def function1():
print("hello")
def function2():
name = input("Enter name: ")
def function3():
print(name)
def main():
function1()
while True:
funtion2()
function3()
if name == "":
break
main()
当前,运行程序并输入名称时出现以下错误:
NameError: global name 'name' is not defined
我理解这是因为name
只在function2()
中定义。如何将name
定义为“全局名称”,或者以某种方式在function3()
和main()
中使用它。
提前谢谢。
不要试图将其定义为全局变量,而是返回它:
如果要使用函数中定义的变量在所有函数中都可用,请使用类:
在函数外部定义变量,然后首先用
global
关键字将其声明为全局内部变量。虽然,这几乎总是一个坏主意,因为所有可怕的错误,你将最终与全球状态创建。相关问题 更多 >
编程相关推荐