python中的以下问题请.....
假设 s 是一串小写字符。
我将如何编写一个程序来打印字符串'bob'
在s
. 例如,如果s = 'azcbobobegghakl'
,那么我的程序将打印
'bob 出现的次数是:2'
我是 python 的新手,感谢任何帮助
python中的以下问题请.....
假设 s 是一串小写字符。
我将如何编写一个程序来打印字符串'bob'
在s
. 例如,如果s = 'azcbobobegghakl'
,那么我的程序将打印
'bob 出现的次数是:2'
我是 python 的新手,感谢任何帮助
如果您不想将重叠bob
s 计为单独的值,这很容易:
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)])