TypeError: 'builtin_function_or_method'对象没有len()
你好,我是一个刚开始学习编程的新手,正在使用代码学院的课程。我在很多地方问过这个问题,也到处搜索过,但还是搞不明白问题出在哪里。
我的目标是验证用户是否回答了问题。以下是我的代码:
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 个回答
5
你想要获取 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"