请问 python 中的以下问题.....
假设 s 是一串小写字符。
我将如何编写一个程序来打印字符串'bob'
在s
中出现的次数。例如,如果s = 'azcbobobegghakl'
,那么我的程序将打印
"鲍勃发生的次数为:2"
我是python的新手,感谢任何帮助
不想将重叠的bob
计为单独的值,这将很容易:
s.count('bob')
(我不得不猜测,基于您的预期输出是 2 而不是 1 的事实......将来,最好解释您的问题,而不是模棱两可。正如帮助所说,count
返回"子字符串sub
的非重叠出现次数......",因此这没有任何好处。
因此,为此,您必须手动执行此操作。我将展示一个应该足以让您入门的示例:
for i in range(len(s)):
if s[i:].startswith('bob'):
print('Found a bob')
执行此操作的一种稍微聪明的方法是在字符串上使用 find
方法。您可以在联机文档中找到有关此内容的详细信息,也可以在交互式控制台中键入help(str.find)
。请注意,find
采用start
参数。您应该能够弄清楚这将如何帮助您;可能需要一些工作才能正确处理细节,但如果您遇到困难,您可以随时发布一个新问题以寻求特定帮助。
你可以试试这种方式
string = "BOBOBOBOBOABCDE"
search = "BOB"
print len([i for i in range(len(string)) if string.startswith(search, i)])