Количество слов
При одиночных пробелах слов на одно больше, чем разделителей.
Как к ней подойти
Потренируйтесь находить нужные символы и фрагменты строки, не теряя границы срезов.
У строки есть индексы, срезы и методы поиска. Индексация начинается с нуля, правая граница среза не включается. Перед сборкой ответа проверьте, что произойдёт, если искомый фрагмент отсутствует.
Это решение следует требованию использовать count и предполагает формат задачи: непустые слова через один пробел.
Проверьте перед запуском
- Краткая формула требует отсутствия повторных и крайних пробелов. Метод count с границами не создаёт срез строки.
Сравните свой подход
Ниже - готовое решение, другой способ, если он есть, и важные детали проверки.
Ваше принятое решение
Рекомендуемое решение: Подсчёт пробелов
Это решение следует требованию использовать count и предполагает формат задачи: непустые слова через один пробел.
s = input()
print(s.count(" ") + 1)
Время: O(L). Память: O(L).
Другой способ: Подсчёт начал слов
Вместо общего числа разделителей считаем переходы от пробела к непробельному символу. count проверяет односимвольный диапазон; подход также допускает повторные и крайние пробелы.
s = input()
words = 0
for i in range(len(s)):
if s.count(" ", i, i + 1) == 0 and (i == 0 or s[i - 1] == " "):
words += 1
print(words)
Время: O(L). Память: O(L).