В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
muratov20011
muratov20011
13.11.2020 22:19 •  Информатика

написать программу на Python На вход программы поступает строка текста, в которой могут встречаться:

— прописные и строчные (т.е. большие и маленькие) латинские буквы;

— пробелы;

— знаки препинания: точка, запятая, восклицательный и вопросительный знак;

— символ –, обозначающий в некоторых случаях тире, а в некоторых — дефис.

Слово — это последовательность подряд идущих латинских букв и знаков дефис, ограниченная с обоих концов. В качестве ограничителей могут выступать начало строки, конец строки, пробел, знак препинания, тире. Тире отличается от дефиса тем, что слева и справа от знака дефис пишутся буквы, а хотя бы с одной стороны от тире идет либо начало строки, либо конец строки, либо пробел, либо какой-либо знак препинания, либо еще одно тире.

Напишите программу, определяющую, сколько слов в данной строке текста.

Входные данные:

Вводится строка длиной не более 200 символов.

Выходные данные:

Выведите одно число — количество слов, которые содержатся в исходной строке.

Sample Input 1: Hello , world!

Sample Output 1: 2

Sample Input 2: www.olympiads.ru

Sample Output 2: 3

Показать ответ
Ответ:
FoxyDi
FoxyDi
08.04.2021 19:52

def CountWords(S):

   cnt = 0

   flag = 'new' # переменная flag показывает, принадлежит ли следующий символ тому-же слову, или новому

   for elem in S:

       if (97 <= ord(elem) <= 122 or 65 <= ord(elem) <= 90) and flag == 'new':

           flag = 'same'

           cnt += 1

       if (ord(elem) < 97 or ord(elem) > 122) and (ord(elem) < 65 or ord(elem) > 90):

           flag = 'new'

   return cnt

print(CountWords(input()))

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота