Ctrl K

Правильные слова в строке

Лёгкая
Строка line состоит из строчных латинских букв, цифр, дефисов -, знаков !, ., , и пробелов. Пробелы (один или несколько подряд) делят её на токены. Токен считается правильным словом, если одновременно: - в нём нет цифр; - дефисов не больше одного, и если дефис есть, то слева и справа от него стоят буквы ("a-b" — можно, "-ab" и "ab-" — нельзя); - знаков препинания не больше одного, и если он есть, то стоит последним ("ok," и "!" — можно, "o!k" и "a.," — нельзя). Верните количество правильных слов в строке.
Пример 1
line="well-known  facts, x2 ok!" → 3

"well-known", "facts," и "ok!" правильные, а в "x2" есть цифра. Ответ 3.

Пример 2
line="-up mid- a-b-c .. !" → 1

В "-up" и "mid-" дефис стоит на краю, в "a-b-c" дефисов два, в ".." два знака препинания. Годится только "!" — ответ 1.

Пример 3
line="go. go, go!" → 3
Ограничения
  • 1 ≤ len(line) ≤ 1000
  • line состоит из строчных латинских букв, цифр, ' ', '-', '!', '.', ','
  • В строке есть хотя бы один токен
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЗначение римского числа ЛёгкаяОбщее начало слов ЛёгкаяБаланс скобок ЛёгкаяГде начинается фрагмент ЛёгкаяДлина последнего слова Лёгкая
загружаем Python…
Вход
line="well-known  facts, x2 ok!"
Ожидается
3

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 323 теста на сервере, включая скрытые.