我做了以下功能,但是当我使用主要功能时它会产生错误,尽管没有使用主要功能
没有错误def setup_name():
print("Before we start...","\n"
"What is your name?")
char_name = input("Name : ").strip().capitalize()
return char_name
def intro():
print(cname," is building great walls now")
print()
cname = setup_name()
intro()
但下面给我错误
def setup_name():
print("Before we start...","\n"
"What is your name?")
char_name = input("Name : ").strip().capitalize()
return char_name
def intro():
print(cname," is building great walls now")
print()
def main():
cname = setup_name()
intro()
main()
对我来说,似乎没有区别,所以我觉得我需要一些敏锐的眼睛。
谢谢!
答案 0 :(得分:2)
cname
不再限定在模块级别(其当前作用域现在是函数main
),因此在{{1}时您将获得NameError
尝试使用intro
。
您需要明确地将cname
传递给cname
,以使其在第二个版本中有效。