TypeError:'builtin_function_or_method'类型的对象没有len()Codecademy

时间:2014-03-01 23:56:54

标签: python

您好,我是代码学院的初学者。我在几个场地问过这个问题并到处搜索,无法弄清楚问题。

目标是验证用户是否已回答了问题。这是我的代码

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()

我尝试了很多代码变体,我不明白发生了什么。我非常感谢任何和所有的输入。

1 个答案:

答案 0 :(得分: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"