我被指示要用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"
答案 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]
会给您字符串中直到该元音之前的所有字母。