在python中的字计数器

时间:2016-02-05 14:53:15

标签: python

我曾尝试在python中创建一个单词计数器,但我的代码无法运行。

word = input("Enter word or sentence")
input("Your word/ sentence has"+ len(word) + " letters")

你能帮我解决一下这个问题吗?

目前的结果是

TypeError: Can't convert "int" object into str implicity

3 个答案:

答案 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接受字符串输入。如果要打印,则必须使用printlen返回一个整数值。 Str将其转换为字符串。

word = input("Enter word or sentence")
print("Your word/ sentence has"+ str(len(word)) + " letters")