TUZ_4-08 Объединение строк
4.8. Объединение строк
Пусть v = {aeiou} – множество гласных, а X и Y – первое и второе слова соответственно.
Если в слове X имеется хотя бы одна гласная из множества v, то считается, что оно имеет как минимум одну группу гласных.
Если в X имеется две гласные, разделенные согласной, то они образуют две группы гласных,
а если гласные следуют друг за другом, то все они относятся к одной группе.
Например, в слове pythonist две группы гласных
(обратите внимание, что y не принадлежит множеству v, поэтому она не учитывается при подсчете групп),
а в слове keep – одна. Задача заключается в создании новой строки на основе двух имеющихся.
Вот правила создания новой строки:
1. Если в X одна группа гласных, то сохраняются только символы перед гласной,
и эта часть X объединяется с Y так, что первые согласные в Y перед первой гласной удаляются.
Например, если X = 'go' и Y = 'meaning', то на выходе получится строка 'geaning'.
2. Если в X имеется более одной группы гласных, то сохраняются все символы, предшествующие второй гласной,
и эта часть X объединяется с Y так, что первые согласные в Y перед первой гласной удаляются.
Например, если X = 'python' и Y ='visual', то на выходе получится 'pythisual'.
Напишите функцию, которая принимает две строки, X и Y, и возвращает новую строку, составленную из X и Y,
следуя приведенным выше правилам.
В табл. 4.8 показаны ожидаемые результаты для некоторых входных данных.
Таблица 4.8. Некоторые ожидаемые результаты для задачи объединения заданных строк в новую строку |
X, Y |
Ожидаемый результат |
go, meaning |
geaning |
python, visual |
pythisual |
elliot, bill |
ill |
ross, jules |
rules |