Python 分开的音节创造规则

Python 分开的音节创造规则,python,Python,我是Python的初学者。到目前为止,我得到了这个: vowels = 'aeiouAEIUO' consonants = 'bcdfghjklmnñpqrstvwxyzBCDFGHJKLMNÑPQRSTVWXYZ' a = input('Type a word: ') for i in range(len(a)): cont1 = 0 cont2 = 0 if a[i] in consonants: cont1 = i - 1 cont

我是Python的初学者。到目前为止,我得到了这个:

vowels = 'aeiouAEIUO'
consonants = 'bcdfghjklmnñpqrstvwxyzBCDFGHJKLMNÑPQRSTVWXYZ'
a = input('Type a word: ')

for i in range(len(a)):
    cont1 = 0
    cont2 = 0
    if a[i] in consonants:
        cont1 = i - 1
        cont2 = i + 1
        if a [cont1] in vowels and a [cont2] in vowels:
                print('consonant between vowels')
我想把音节分开。我想创建一个规则,当一个辅音在两个元音之间时,辅音必须连接到右边的元音,并打印以“-”分隔的音节 蒙托亚=蒙托亚 阿莫尔=阿莫尔 clase=cla-se

当然,这段代码给出了一个错误:IndexError:string index超出范围。我不知道那是什么意思

谢谢

我想创建一个规则,当一个辅音在两个元音之间时 辅音必须和右边的元音连在一起

您可以使用re:


不过,这条规则不是很好。这不适用于例如letra,因为元音之间有两个辅音。这将是另一个规则。我想应用几个规则,但我想从两个元音之间的辅音开始。但是,我如何在代码上实现这一点呢。另外,我尝试:>>>>re.subpattern,r'\1-\2',alexis'a-lexis'@user2558831您的问题不太清楚。你能澄清一下吗?
>>> import re
>>> vowels = 'aeiouAEIUO'
>>> consonants = 'bcdfghjklmnñpqrstvwxyzBCDFGHJKLMNÑPQRSTVWXYZ'
>>> pattern="([" + vowels + "])" + "([" + consonants + "]" + "[" + vowels + "])"
>>> re.sub(pattern, r'\1-\2', "amor")
'a-mor'
>>> re.sub(pattern, r'\1-\2', "clase")
'cla-se'
>>>