Найти количество слов в строке между двумя символами в Python

Мне нужно посчитать количество слов в строке между двумя символами ";". Похожий код на плюсах у меня работает, а вот на пайтоне нет. Пишет что значение k не в диапазоне значений(если k будет равно i то пишет что количество слов = 0). Как можно это исправить?

s="hello; hi bbbb aaaaa dfdfdf dfdvdv; bye"
count = 0
slovo=0
for i in range(len(s)):
    if s[i]==";":
        k=i+1
        while s[k]!=";":
            if s[k]!=" "and slovo==0:
                slovo=1
                count+=1
            elif s[k]==" ":
                slovo=0
            k+=1
print("Kolvo slov:   ",count)

Ответы (1 шт):

Автор решения: ganz

эммм как насчёт самого простого варианта:

str='...'
sep='...'

count=False
counter=0

for it in str:
  if it==sep:
    count=True if not count else False
  if count:
     counter+=1

не описаны проблеммы вхождения трёх и более сепараторов, так как нет условий их обработки

→ Ссылка