2017-04-06 47 views
0

我有一個簡單的函數用if語句訪問字典。Python - 似乎無法獲取返回語句在簡單函數中工作?

langdict = {"english": "Hello, World!", "french":"Bonjour, tout le monde!"} 

def hello(language): 
    if language in langdict: 
     return langdict[language] 
    else: 
     return None 

現在一切工作正常,並與打印聲明丹迪顯然。但是,當我在第5行和第7行使用return語句時什麼也沒有發生。我錯過了什麼?

+4

沒有任何反應?你的意思是_沒有打印對不對? –

+2

順便說一句,用'return langdict.get(language)'代替它。如果沒有找到,則返回'None' –

+0

是的,第一個return語句由於某種原因沒有打印任何東西。 – user2951723

回答

0

你可以使用這個

def hello(language): 
    return langdict.get(language, None) 

print hello('english') #Hello, World! 
print hello('japanese') #None 

回報將返回從功能和打印該值將在控制檯顯示該值

+0

這不會回答這個問題。這只是改變了代碼,使其更加簡潔明瞭,但沒有找到解決方案。 –

0

我使用python 2.7,無法重現你的錯誤:

通過調用

hello("english") 

我得到預期的結果'Hello, World!'同時呼籲例如

hello("german") 

導致沒有/空的結果

如果你希望將結果保存到你會做一些這樣的變量:

result = hello("english")