请在python中出现以下问题.....
假设s是一个小写字符串。
如何编写一个打印'bob'
字符串s
出现次数的程序。例如,如果s = 'azcbobobegghakl'
,则我的程序将打印
'bob发生的次数是:2'
我是一个全新的python并感谢任何帮助
答案 0 :(得分:4)
如果您不想将重叠的bob
计为单独的值,这很容易:
s.count('bob')
但你显然是这样做的。 (我不得不猜测,基于你的预期输出是2而不是1 ......将来更好地解释你的问题而不是让它模棱两可。)正如帮助所说,count
返回“非重叠出现的子串sub
...”的数量,这样就不会有任何好处。
因此,为此,您必须手动完成。我将展示一个足以让你入门的例子:
for i in range(len(s)):
if s[i:].startswith('bob'):
print('Found a bob')
更聪明的方法是在字符串上使用find
方法。您可以在online docs中找到相关详细信息,也可以在交互式控制台中输入help(str.find)
。请注意find
采用start
参数。你应该能够弄清楚这对你有什么帮助;获取详细信息可能需要一些工作,但如果您遇到困难,您可以随时发布一个新问题,寻求特定帮助。
答案 1 :(得分:0)
你可以试试这种方式
string = "BOBOBOBOBOABCDE"
search = "BOB"
print len([i for i in range(len(string)) if string.startswith(search, i)])