Предмет: Информатика, автор: westfost0

Даю 40 баллов! Язык python
1 В заданном списке слов найдите пустые строчки.

Хайку — жанр традиционной японской лирической поэзии века, известный с XIV века. Оригинальное японское хайку состоит из 17 слогов, составляющих один столбец иероглифов. Особыми разделительными словами — кирэдзи — текст хайку делится на части из 5, 7 и снова 5 слогов. При переводе хайку на западные языки традиционно вместо разделительного слова использую разрыв строки и, таким образом, хайку записываются как трёхстишия. Перед вами трёхстишия, которые претендуют на то, чтобы быть хайку. В качестве разделителя строк используются символы / . Если разделители делят текст на строки, в которых 5/7/5 слогов, то выведите «Хайку!». Если число строк не равно 3, то выведите строку «Не хайку. Должно быть 3 строки.» Иначе выведите строку вида «Не хайку. В i строке слогов не s, а j.», где строка i — самая ранняя, в которой количество слогов неправильное. Для простоты будем считать, что слогов ровно столько же, сколько гласных, не задумываясь о тонкостях.

Приложения:

Ответы

Автор ответа: pavlenkoalena010
1

Ответ:

vowels = ['а', 'у', 'о', 'ы', 'и', 'э', 'я', 'ю', 'ё', 'е', 'А', 'У', 'О', 'Ы', 'И', 'Э', 'Я', 'Ю', 'Ё', 'Е']

n = 0

line = input().split('/')

for i in range(len(line)):

   for j in range(len(line[i])):

       if line[i][j] in vowels:

           n += 1

   if len(line) != 3:

       print('Не хайку. Должно быть 3 строки.')

       break

   if i == 0 or i == 2:

       if n != 5:

           print('Не хайку. В ', i + 1, ' строке слогов не 5, а ', n, '.', sep='')

           break

   if i == 1:

       if n != 7:

           print('Не хайку. В ', i + 1, ' строке слогов не 7, а ', n, '.', sep='')

           break

   n = 0

else:

   print('Хайку!')

Похожие вопросы
Предмет: Русский язык, автор: лотос10
Предмет: Русский язык, автор: лотос10