-3

Pythonで次の問題をお願いします.....

s が小文字の文字列であると仮定します。

'bob'で文字列が出現する回数を出力するプログラムをどのように作成すればよいでしょうかs。たとえば、の場合s = 'azcbobobegghakl'、私のプログラムは印刷します

「ボブの発生回数: 2」

私はPythonにまったく慣れていないので、助けていただければ幸いです

4

2 に答える 2

4

bob重複するs を個別の値としてカウントしたくない場合、これは簡単です。

s.count('bob')

しかし、あなたはどうやらそうです。count(意図した出力が 1 ではなく 2 であるという事実に基づいて、私は推測しなければなりませんでした…将来的には、あいまいなままにしておくのではなく、問題を説明する方がよいでしょう。)部分文字列の重複しない出現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 に答える