TypeError:无法连接' str'和' int'对象1

时间:2018-03-10 05:29:56

标签: python while-loop typeerror

假设s是一个小写字符串。 编写一个打印字符串' bob'的程序。发生在s。例如,如果s =' azcbobobegghakl',则应打印程序 bob发生的次数是:2

我在下面写了这个程序。

s = 'azcbobobegghakl'
count = 0
if(s.find("b")):
    p = s.index('b')
    while p+2 <= len(s):
        if(s[p+1] == 'o' and s[p+2] == 'b'):
            count = count+1
            p = s[p+2]
        else:
            p = s[p+1]
print (count)

但它在while循环中显示错误。但是,如果我不使用while循环,它运行没有任何错误。

2 个答案:

答案 0 :(得分:0)

s = 'azcbobobegghakl'
count = 0
if(s.find("b")):
    p = s.index('b')
    while p+2 <= len(s):
        if(s[p+1] == 'o' and s[p+2] == 'b'):
            count = count+1
            p = p+2
        else:
            p = p+1
print (count)

增加p。

时出错

我建议使用regexp。

答案 1 :(得分:0)

试试这个: -

s = 'azcbobobegghakl'
count = 0
result = ''
ind = 0
for i in range(3,len(s),3):
    result += s[ind:i]
    if "bob" in result:
        count+=1
    ind = i
    result = s[i-1]
print(count)