여기에 지침이 필요합니다. 이것은 아마도 어리석은 실수이지만, "builtins.NameError : 전역 이름 - 정의되지 않았습니다"오류가 발생하며 이유를 볼 수 없습니다. - 아직 언어를 배우고 있습니다. :)Python 3 builtins.NameError : 전역 이름 ---이 정의되지 않았습니다. -
Traceback (most recent call last):
File "C:\Program Files (x86)\Wing IDE 101 5.0\src\debug\tserver\_sandbox.py", line 36, in <module>
File "C:\Program Files (x86)\Wing IDE 101 5.0\src\debug\tserver\_sandbox.py", line 33, in main
File "C:\Program Files (x86)\Wing IDE 101 5.0\src\debug\tserver\_sandbox.py", line 3, in option
pass
File "C:\Program Files (x86)\Wing IDE 101 5.0\src\debug\tserver\_sandbox.py", line 11, in enter
File "C:\Program Files (x86)\Wing IDE 101 5.0\src\debug\tserver\_sandbox.py", line 33, in main
File "C:\Program Files (x86)\Wing IDE 101 5.0\src\debug\tserver\_sandbox.py", line 5, in option
File "C:\Program Files (x86)\Wing IDE 101 5.0\src\debug\tserver\_sandbox.py", line 18, in view
builtins.NameError: global name 'msg' is not defined
내가 안내 시겠어요 :
def option(x):
if x == "E":
enter()
elif x == "V":
view()
else:
exit()
def enter():
msg = input("Enter the message\n")
main()
def view():
##if msg == 0:
#print("no message yet")
#main()
#else:
print("The message is:", msg)
main()
def exit():
print("Goodbye!")
def main():
print("Welcome to BBS")
print("MENU")
print("(E)nter a message")
print("(V)iew message")
print("e(X)it")
print("Enter your selection:")
choice = input()
option(choice)
#msg = 0
main()
내 문제는 내가 처음 "E"옵션을 선택하고있어 비록 내가이납니다 있다는 것입니다 : 여기
내 코드입니다 ? 나는 정보를 찾고 있었고 아무 것도 발견하지 못했고, 내 결론은 아마도 그것은 정말로 어리 석고 멍청한 무언가 일 것입니다.또한 내가 쓴 의견에서 볼 수 있듯이 msg를 사용하여 "보기"에서 오류가 발생하지 않도록 제한하려고 시도했습니다! = 0 - main()에서 msg = 0을 작성했습니다. 이것은 enter()를 거친 후 main()으로 돌아가서 msg == 0을 다시 만들기 때문에 분명히 작동하지 않습니다. 이 문제를 해결하는 방법을 이해하는 데 도움이되는 페이지/가이드에 나를 연결할 수 있습니까? 내가
감사합니다,
이타치
[범위] (http://gettingstartedwithpython.blogspot.com/2012/05/variable-scope.html)에 대한이 기사를 살펴보십시오. – 2rs2ts