python – TypeError:无法隐式地将’builtin_function_or_method’对象转换为str
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – TypeError:无法隐式地将’builtin_function_or_method’对象转换为str,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1815字,纯文字阅读大概需要3分钟。
内容图文
![python – TypeError:无法隐式地将’builtin_function_or_method’对象转换为str](/upload/InfoBanner/zyjiaocheng/809/0d0eb79d5ebc43d68983e97210ae0194.jpg)
我在python 3中制作了一个简单的疯狂libs程序,用户输入名词和代词,程序应打印出来自用户的输入.
这是我的代码:
print ("Welcome to Mad Libs. Please enter a word to fit in the empty space.")
proper_noun = input("One day _________ (Proper Noun)").lower()
ing_verb = input("Was __________ (Verb + ing) to the").lower()
noun1= input("to the _________ (Noun)").lower()
pronoun1 = input("On the way, _____________ (Pronoun)").lower()
noun2 = input("Saw a ________ (Noun).").lower
pronoun2 = input("This was a surprise so ________ (Pronoun)").lower()
verb2 = input("_________ (verb) quickly.").lower()
#Asks user to complete the mad libs
print ("One day " + proper_noun)
print ("Was " + ing_verb + " to the")
print (noun1 + ". " + "On the way,")
print (pronoun1 + " saw a " + noun2 + ".")
print ("This was a surprise")
print ("So " + pronoun2 + " " + verb2 + " quickly.")
获取此错误代码:TypeError:无法隐式地将’builtin_function_or_method’对象转换为str
在这一行:
print (pronoun1 + " saw a " + noun2 + ".")
相当新的python,所以我不完全确定这个错误意味着什么以及如何解决它,有人可以向我解释这个错误代码吗?
解决方法:
问题在于noun2变量
noun2 = input("Saw a ________ (Noun).").lower
您正在为它分配函数.lower,而不是调用它的结果.你应该把这个函数称为.lower() –
noun2 = input("Saw a ________ (Noun).").lower()
对于未来的读者
当你遇到诸如类型错误之类的问题时:无法隐式地将’builtin_function_or_method’对象转换为str – 当尝试使用运算符连接变量包含字符串时.
问题基本上是其中一个变量实际上是一个函数/方法,而不是实际的字符串.
当你尝试在字符串上调用某个函数时,通常会发生这种情况(如OP的情况),但是错过了它的()语法(就像在OP的情况下那样) –
name = name.lower #It should have been `name.lower()`
如果没有()语法,您只需将函数/方法分配给变量,而不是调用函数的实际结果.要调试此类问题,您可以查看分配给变量的行,在抛出错误的行中使用,并检查是否错过了调用任何函数.
内容总结
以上是互联网集市为您收集整理的python – TypeError:无法隐式地将’builtin_function_or_method’对象转换为str全部内容,希望文章能够帮你解决python – TypeError:无法隐式地将’builtin_function_or_method’对象转换为str所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。