Nano Hash - криптовалюты, майнинг, программирование

Поиск и подсчет слова, упомянутого внутри строки (python 3)

Я пытаюсь найти, сколько раз одна строка упоминается внутри другой, подсчитывая ее и выводя результат. Например, программа, которая определяет, сколько раз слово «нога» встречается в слове «легалоглегего».

Я попытался сделать это с помощью цикла for, который проверяет фрагменты соответствующего размера (в данном случае 3 символа), но получаю ошибку типа.

Я ценю вашу помощь.

Это код, который я пробовал:

s = 'bobobslobbob'
i = 0
counter = -1
for i in s:
counter = counter + 1
    if s[i:i+2] == 'bob':
        i = i + 1    
print('Number of times bob occurs is:',counter)   
07.09.2018

  • Итак, ожидаемый результат — 3 или 2? 07.09.2018
  • Есть несколько проблем с вашим кодом: 1) ваш отступ неверен 2) счетчик должен увеличиваться внутри оператора if 3) вы увеличиваете i внутри цикла, когда вы должны увеличивать counter 4) for i in s перебирает символы в s, а не в индексах. 5) Вы должны тестировать s[i:i+3] для подстроки длиной 3 6) Ваш счетчик должен начинаться с 0 (а не -1) 07.09.2018

Ответы:


1

Вы можете сделать это легко, используя re.findall

>>> import re
>>> s = 'bobobslobbob'
>>> 
>>> len(re.findall(r'(?=bob)', s))
3
07.09.2018

2

Если не учитывать перекрытие

s='bobobslobbob'
s.count('bob')
07.09.2018
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..