2014-03-01 183 views
2

嗨,我是一名初學者,與代碼學院合作。我在幾個場所問過這個問題,到處搜索,都找不到問題。TypeError:'builtin_function_or_method'類型的對象沒有len()Codeacademy

目標是驗證用戶是否回答了問題。這裏是我的代碼

print 'Welcome to the Pig Latin Translator!' 

raw_input("Enter a word: ") 
original = raw_input 
if len(original) > 0: 
    print original 
else: 
    print "empty" 

當我執行的代碼,並輸入一個字,它給了我這個錯誤:

Traceback (most recent call last): 
    File "python", line 5, in <module> 
TypeError: object of type 'builtin_function_or_method' has no len() 

我已經試過代碼的許多變化,我不明白是什麼正在發生。我真的很感激任何和所有的輸入。

+0

您正在使用Python 2.x中,而不是Python 3.x的我更正了你的標籤。 –

回答

4

您正試圖獲得raw_input函數的長度。上一行忽略的函數調用的實際結果。

>>> len(raw_input) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: object of type 'builtin_function_or_method' has no len() 

你要調用函數的輸出存儲在original代替:

original = raw_input("Enter a word: ") 
if len(original) > 0: 
    print original 
else: 
    print "empty" 
+1

你們真棒。這麼快。如此精確。沒有什麼像Python論壇。 – DataScienceAmateur

相關問題