我曾尝试在python中创建一个单词计数器,但我的代码无法运行。
word = input("Enter word or sentence")
input("Your word/ sentence has"+ len(word) + " letters")
你能帮我解决一下这个问题吗?
目前的结果是
TypeError: Can't convert "int" object into str implicity
答案 0 :(得分:1)
您可以尝试以下代码:
word = input("Enter word or sentence")
input("Your word/ sentence has"+ str(len(word)) + " letters")
在这里,我使用的是str(len(word))
,而不仅仅是len(word)
。因为len(word)
会返回数字,而且它是int
个对象。
你正在做str_object + int_object
,Python不明白你真正想做什么。
让我们看看:
>>> len('foobar')
6
>>> type(len('foobar'))
<class 'int'>
>>> len('foobar') + 'foobar'
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'
>>>
因此,您必须将int_object
(由len(word)
返回)转换为str
对象使用str()
函数。
例如:
>>> str(len('foobar'))
'6'
>>> type(str(len('foobar')))
<class 'str'>
>>> str(len('foobar')) + 'foobar'
'6foobar'
您也可以使用str.format()
代替两个+
。哪个可以自动将所有对象转换为str
,也比您的代码更易读。
所以只需使用:
word = input("Enter word or sentence")
input("Your word/ sentence has {} letters".format(len(word)))
答案 1 :(得分:0)
您有错误:
word = input("Enter word or sentence")
print("Your word/ sentence has"+ str(len(word)) + " letters")
或者:
word = input("Enter word or sentence")
print("Your word/ sentence has", len(word), " letters")
答案 2 :(得分:0)
input
接受字符串输入。如果要打印,则必须使用print
。 len
返回一个整数值。 Str
将其转换为字符串。
word = input("Enter word or sentence")
print("Your word/ sentence has"+ str(len(word)) + " letters")