@13_nastya_13

Как можно сократить эту функцию без импорта каких-либо библиотек?

def dividere_lettere(line):
    new_line = ''
    vowel_letters =('e', 'u', 'e', 'i', 'o', 'a', 'y', 'j')
    for i in range(len(line)):
        if line[i] in vowel_letters:
            try:
                if line[i+1] in vowel_letters:
                    new_line += line[i]
                else:
                    new_line += line[i] + " "
            except:
                new_line += line[i] 
        else:
            new_line += line[i]       
    new_line = new_line.split()
    return new_line

Эта функция разделяет строку на слоги, но если следуют две гласные буквы, они должны быть вместе, например "daabdhvoovuudpanda" = ["daa', 'bdhvoo', 'vuu', 'dpa', 'nda']
  • Вопрос задан
  • 111 просмотров
Решения вопроса 1
adugin
@adugin Куратор тега Python
def syllables(word, vowels=set('aeiou'), end='!'):
    word = iter(word + end)
    b, syllables = next(word), ''
    while b != end:
        a, b = b, next(word)
        syllables += a
        if (a in vowels) and (b not in vowels):
            syllables += ' '
    return syllables.split()
            
syllables('daabdhvoovuudpanda')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы