Python练习类型错误:';str';对象不可调用

Python练习类型错误:';str';对象不可调用,python,typeerror,Python,Typeerror,尝试运行此Python练习时: s = 'azcbobobegghakl' num = 0 for i in range (len(s)): if s[i:i+3]== 'bob': num +=1 print('Number of times bob occurs is: ' + str(num)) 我在最后一行得到这个错误,TypeError:“str”对象不可调用。我有点困惑,因为我已经在我学习的网站上提交了它,并且它的签名是正确的。这里有人能给我一个提示吗?你的代码

尝试运行此Python练习时:

s = 'azcbobobegghakl'
num = 0

for i in range (len(s)): 
    if s[i:i+3]== 'bob':
    num +=1
print('Number of times bob occurs is: ' + str(num))

我在最后一行得到这个错误,
TypeError:“str”对象不可调用。我有点困惑,因为我已经在我学习的网站上提交了它,并且它的签名是正确的。这里有人能给我一个提示吗?

你的代码运行得很好。与评论中提到的用户一样,您可能已经为名为
str
的变量分配了一个字符串。下面是一个为什么会出现此错误的示例:

str = "test"
s = 'azcbobobobegghakl'
print (s.count("bob"))
num = 0

for i in range (len(s)): 
    if s[i:i+3]== 'bob':
        num +=1
print('Number of times bob occurs is: ' + str(num))
如果执行此操作,您将得到:

Traceback (most recent call last):
  File "Untitled.py", line 2197, in <module>
    print('Number of times bob occurs is: ' + str(num))
TypeError: 'str' object is not callable
回溯(最近一次呼叫最后一次):
文件“Untitled.py”,第2197行,在
print('鲍勃出现的次数为:'+str(num))
TypeError:“str”对象不可调用
这是因为您已将
str
定义为变量,并将其分配给字符串
“test”
。因此,python认为您试图在变量
num
上调用此变量,并且由于字符串对象不可调用,因此返回一个错误。因此,您应该查看未发布在此处的任何代码,找到名为
str
的变量,并将其名称更改为其他名称。切勿使用
int
len
str
等词作为变量名。它把python搞得一团糟


另外,如果情况并非如此,并且您没有任何名为
str
的变量,那么我很乐意删除我的答案。

该代码运行良好。如果我猜,您使用的是“str”作为变量名(而不是实际代码中的“S”)?是的,您的代码运行良好。是的。我是“第三个”。它工作得很好。只需添加到“它工作得很好”的消息链中:在python 3.6和python 2.7中都进行了测试,工作得很好。有罪!非常感谢:p deepshame@SmoothLeggedWookie没问题。这种情况总是发生在python的新用户身上。不管怎样,祝你好运,无论你想完成什么。