нахождение количества вхождений вложенной строки в другой строке

#python-3.x

#python-3.x

Вопрос:

 string = 'WoW!ItSCoOWoWW'
sub_string = 'oW'
count = 0

st = list(string)


for x in range(len(st)):
    if ord(string[x]) == ord(sub_string[0]):
        s1 = ''.join(string[x:])
        if sub_string in s1:

            count  =1
print(count)
  

Проблема:
функция ord () не может различить ‘o’ и ‘O’ (в строке).

Ответ №1:

Вы неправильно расставили круглые скобки print(ord(string[x]), ord(sub_string)
Обновите эту строку, чтобы исправить свой код:

 print(ord(string[x]), ord(sub_string))
  

Комментарии:

1. Вам также нужна запись индекса в этой строке — print(ord(string[x]), ord(sub_string[0]))

Ответ №2:

Для этого есть встроенная функция: str.count()

https://www.tutorialspoint.com/python/string_count.htm

Проблема с вашим кодом заключается в print инструкции непосредственно перед строкой ошибки. Вам не хватает круглых скобок.

Комментарии:

1. count() не работает в случае string, как в отредактированном выше коде.