2016-10-12 44 views
0

時可迭代這是我收到的錯誤:類型錯誤:「NoneType」對象是不是要檢查None值

line 16, in main 
    definition, data = get_name() 
TypeError: 'NoneType' object is not iterable 

我檢查None類型在這裏:

definition = get_word (name, gender) 

if definition is None: 
    print ("\"" + non_lower + "\"", "not found.") 
else: 
    return definition 

這裏如果找不到搜索項,將返回None的代碼:

if x and new_line is not None: 
    return new_line, x 

我正在返回2 v線索,但它返回一個值,當我嘗試檢查None的值時,我得到錯誤。如果無論如何檢查變量None正確,所以如果沒有返回我可以提出一條消息?

+2

你的問題有點不清楚。無論如何,被調用的函數(你沒有顯示)應該總是返回相同數量的值,即使它們都是'None' - 你應該總是調用它,期望返回許多值。 – martineau

+4

請提供[最小,完整和可驗證的示例](http://stackoverflow.com/help/mcve) – CAB

回答

0

您在稍後返回支票None的部分有雙重否定。檢查None實際上不檢查None

if x and new_line: 
    return new_line, x 
else: 
    return None, None 

然後,檢查變量是其他的東西比None,再搭上None與else語句:也許試試這個?

if definition: 
    return definition 
else: 
    print ("\"" + non_lower + "\"", "not found.") 
相關問題