-3

python中的以下问题请.....

假设 s 是一串小写字符。

我将如何编写一个程序来打印字符串'bob's. 例如,如果s = 'azcbobobegghakl',那么我的程序将打印

'bob 出现的次数是:2'

我是 python 的新手,感谢任何帮助

4

2 回答 2

4

如果您不想将重叠bobs 计为单独的值,这很容易:

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参数。您应该能够弄清楚这将如何帮助您;获得正确的细节可能需要一些工作,但如果您遇到困难,您可以随时发布一个新问题以寻求具体帮助。

于 2013-10-23T21:45:41.987 回答
0

你可以试试这个方法

string = "BOBOBOBOBOABCDE"
search = "BOB"
print len([i for i in range(len(string)) if string.startswith(search, i)])
于 2013-10-23T21:51:28.073 回答