Предмет: Информатика,
автор: westfost0
Даю 40 баллов! Язык python
1 В заданном списке слов найдите пустые строчки.
Хайку — жанр традиционной японской лирической поэзии века, известный с XIV века. Оригинальное японское хайку состоит из 17 слогов, составляющих один столбец иероглифов. Особыми разделительными словами — кирэдзи — текст хайку делится на части из 5, 7 и снова 5 слогов. При переводе хайку на западные языки традиционно вместо разделительного слова использую разрыв строки и, таким образом, хайку записываются как трёхстишия. Перед вами трёхстишия, которые претендуют на то, чтобы быть хайку. В качестве разделителя строк используются символы / . Если разделители делят текст на строки, в которых 5/7/5 слогов, то выведите «Хайку!». Если число строк не равно 3, то выведите строку «Не хайку. Должно быть 3 строки.» Иначе выведите строку вида «Не хайку. В i строке слогов не s, а j.», где строка i — самая ранняя, в которой количество слогов неправильное. Для простоты будем считать, что слогов ровно столько же, сколько гласных, не задумываясь о тонкостях.
Приложения:
Ответы
Автор ответа:
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
Предмет: Русский язык,
автор: MrsMon02
Предмет: Алгебра,
автор: мэннн
Предмет: Математика,
автор: alinafy