首页 > 解决方案 > 如何标记第一次出现的元音,将前面的辅音移动到结尾

问题描述

我被指示在 Python 中创建一个 PygLatin 翻译器——我是个初学者。我必须翻译任何随机输入的句子。到目前为止,我需要能够标记一个单词中第一次出现的元音并转移该单词末尾之前的所有辅音。

def encrypt():
    modify_split = list(sentence.split()) 
    letter = list(word)
    for letter in word:
        if letter == "A":
            print(word[1:] + "*" + word[0:1] + "AY")
        if letter == "E":
            print(word[1:] + "*" + word[0:1] + "AY")
        if letter == "I":
            print(word[1:] + "*" + word[0:1] + "AY")
        if letter == "O":
            print(word[1:] + "*" + word[0:1] + "AY")
        if letter == "U":
            print(word[1:] + "*" + word[0:1] + "AY")

它目前正在打印句子中每个字母的每个单词,并且根本不会在元音处分裂。有没有一种简单的方法让它遍历一个列表,找到元音,然后让我在那里拆分单词?提前致谢!

编辑:示例输入:

"Computer science is great"

预期输出:

"omputer*cay ience*scay is*~way eat*gray"

标签: pythonpython-3.x

解决方案


设置您vowels的字符串,然后enumerate在遇到其中的字符时使用,vowels您可以将其存储indexslice原始字符串 中

s = 'this'
vowels = 'aeiou'

for i, v in enumerate(s):
    if v.lower() in vowels:
        x = i
        break

print(s[x:] + s[:x]) # => isth

推荐阅读