Определение того, сколько раз встречается подстрока в строке в Python

Я пытаюсь выяснить, сколько раз строка встречается в строке. Например:

nStr = '000123000123'

Скажем, строка, которую я хочу найти, это 123. Очевидно, что в nStr это происходит дважды, но у меня возникают проблемы с реализацией этой логики в Python. Что я получил на данный момент:

pattern = '123'
count = a = 0
while pattern in nStr[a:]:
    a = nStr[a:].find(pattern)+1
    count += 1
return count

Ответ, который он должен вернуть, равен 2. Я застрял в бесконечном цикле в данный момент.

Я только что осознал, что считать это гораздо лучший способ сделать это, но из любопытства, кто-нибудь видит способ сделать это похоже на то, что я уже получил?

Ответы на вопрос(7)

Ваш ответ на вопрос