如何标记元音的首次出现,如何将前面的辅音移到末尾

时间:2018-10-14 23:49:43

标签: python python-3.x

我被指示要用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"

2 个答案:

答案 0 :(得分:1)

vowels设置为字符串,然后使用enumerate使用vowels,一旦遇到index中的字符,就可以将其slice存储到原始的s = 'this' vowels = 'aeiou' for i, v in enumerate(s): if v.lower() in vowels: x = i break print(s[x:] + s[:x]) # => isth 字符串

Move-Item

答案 1 :(得分:0)

word[1:]替换为word[length:],将word[0:1]替换为word[0:length]

您要使用length,因为这是循环的当前索引。 word[length:]然后会给您单词中所有从该元音的索引开始的字母,word[0:length]会给您字符串中直到该元音之前的所有字母。