python中的迭代算法



我想使用以下程序查找并打印字符串中有多少个 bob 数,但它不起作用。谁能说出它有什么问题?

s='bob123 bob bob 3434'
num=0
a=0
b=3
for char in s:
    if s[a:b]=='bob':
        num+=1
        a+=1
        b+=2
print(num)     
s='bob123 bob bob 3434'
print(s.count("bob"))

您可以计算字符串中出现bob次数。

repl.it 工作

不起作用的是

你的缩进是关闭的:如果没有找到字符串,你还需要增加ab;两者都只需要增加1(你增加b 2(:

for char in s:
    if s[a:b]=='bob':
        num+=1
    a+=1
    b+=1

一种稍微更 pythonic 的方法可能是:

num = 0
for i in range(len(s)+1-3):
    if s[i:i+3] == 'bob':
        num+=1

字符串的count方法将是更好的版本:

s.count('bob')

最新更新