Как разделить строку на слоги?
Как разделить строку на слоги, с одним но? Например есть строка heuumoogxieietwvoognptaooemkzayeiokxxiusioiau'pclskjafwbudzkxoao ее нужно разделить на ['heuu', 'moo', 'gxieie', 'twvoo', 'gnptaooe', 'mkzayeio', 'kxxiu', 'sioiau', 'pclskja', 'fwbu', 'dzkxoao'].
Т.е. если после согласной идет гласная и потом опять согласная, то это первый слог, если же после гласной идет опять гласная, то нужно ее так же нужно добавить к этому слогу.
Каким методом можно это сделать без импорта других библиотек и чтобы функция работала максимально быстро с длинными строками? И как это сделать?
Ответы (1 шт):
Автор решения: alex9127
→ Ссылка
Нужно использовать циклы. Вот код:
string = input()
parts = []
latestLetter = ""
nowLetter = ""
vowels = "aeiouyAEIOUY"
for i in range(len(string)):
nowLetter = string[i]
if i == 0:
parts.append(nowLetter)
elif latestLetter in vowels and nowLetter not in vowels:
parts.append(nowLetter)
else:
parts[len(parts) - 1] += nowLetter
latestLetter = nowLetter
print(parts)