传递参数错误

时间:2016-01-19 17:06:47

标签: python parameters nameerror

我正在尝试创建一个程序并获取用户数据然后将其传递给另一个函数,但我一直得到一个NameError,即使我(似乎)正确传递参数并使用该参数调用该函数。

这是我的代码示例:

#Define prompt to get player name
def welcomePrompt():
    print("Welcome to my beachy adventure game!")
    name=(input("Before we start, you must check-in, what is your name?:"))
    return name


#Define dictionary to access all player data
def dataDict(name):
    name=name
    print(name)


def main():
    welcomePrompt()
    dataDict(name)

main()
有人可以帮忙吗?感谢

1 个答案:

答案 0 :(得分:1)

您不使用name返回的welcomePrompt()值;函数中的局部变量不会在另一个函数中可见,因此传递结果的唯一方法是返回然后存储该结果

def main():
    name = welcomePrompt()
    dataDict(name)

请注意我添加的name =部分。这是新的本地变量。它可能与welcomePrompt()中的名称相同,但因为它是一个不同的函数,所以它们是独立的。您可以将main()中的变量重命名为其他内容,而不是更改程序的功能:

def main():
    result = welcomePrompt()
    dataDict(result)