2016-01-19 146 views
0

我想創建一個程序並獲取用戶數據,然後將其傳遞給另一個函數,但我不斷收到一個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() 

可能有人請幫忙嗎?謝謝

+0

你忘了'打印關閉字符串',添加報價 –

回答

1

您不使用從welcomePrompt()返回的name值;函數中的局部變量是不會在另一個功能是可見的,所以只有這樣,才能對結果傳遞是通過返回然後存儲導致

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

注意name =部分我補充道。這是一個新的本地變量。它可能與welcomePrompt()中的名稱相同,但因爲它是不同的功能,所以它們是獨立的。您可以在main()重命名變量別的東西,而不是改變程序的功能:(!「歡迎來到我的比奇冒險遊戲)

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

所以我沒有辦法在另一個函數中使用另一個函數的輸入嗎? – liverr1818

+0

@ liverr1818:有;你明確地傳遞它。 –