разбить строку на гласную + окружающие согласные - PullRequest
0 голосов
/ 03 апреля 2020

Я новичок в кодировании, и это моя первая попытка. Я хочу разделить слова на слоги из телефона c.

Правила составления слогов из слов из телефона c:

учитывайте все согласные до первой гласной, считайте эту гласную. повторить.

Пример:

м a - r i - a

a - l e - ks a - nd a - r

Это как далеко я пришли:

    word = 'aleksandar'
    vowels = ['a','e','i','o','u']
    consonants = ['b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z']

    for vowel in vowels:

        if vowels in word:

            index_1 = int(word.index(vowel)) - 1
            index_2 = int(word.index(vowel)) + 1

            print(word[index_1:index_2])

        else:

            print(consonants)

ИДК, что идет не так, пожалуйста, помогите! Заранее спасибо:)

Ответы [ 2 ]

0 голосов
/ 03 апреля 2020

Это должно решить вашу проблему

word = 'aleksandar'
vowels = ['a','e','i','o','u']

new_word = ""

for letter in word:
    if letter in vowels:
        new_word += letter + "-"
    else:
        new_word += letter

print(new_word)
0 голосов
/ 03 апреля 2020

Я немного изменил ваш код, и он отлично работает !!!

word = 'aleksandar'
word = list(word)
vowels = ['a','e','i','o','u']
s = ""
syllables = [ ]
for i in range(len(word)):
    if word[i] not in vowels:
        s = s + word[i]
    else:
        s = s + word[i]
        syllables.append(s)
        s = ""
print(syllables)    

и вывод:

['a', 'le', 'ksa', 'nda']
...