2017-03-05 91 views
0

我不认为标题完全解释了它。将尾部字符添加到单词末尾的第一个元音中

基本上我有一个列表包含所有的元音和另一个列表中包含构成这个词的字符。

我需要拿出包含这个单词的列表,并把所有的字符都带到的第一个元音,并将它们按顺序添加到最后。

我不能绕到我的头是如何做到这一点,我有两个想法:

for characters in word: 
    if(character != vowel): 
     vCount += 1 
    else: 
     break 
    break 

for i in range(vCount): 
    print(i) 
    wList.append(wList.pop(i)) 

,另一个是基本相同的,但每次看到一次,它是不是一个元音它弹出它。我最初没有看到的一个明显问题是,'元音'不仅仅是一个单一的实体,字符不等于a,pop,字符不等于e,pop等等。或者在vCount,它只是远远长于wList的实际长度。

任何人都有想法如何解决这个问题?

编辑:对不起,这wasnt明确:

猫 - > ATC

熊 - > EARB

+0

能否请您编辑一些样品的输入和输出到您的多一点透明度的问题? – miradulo

+0

如果(!'('a','e','i','o','u'))''中的字符怎么样? [看到这个问题](http://stackoverflow.com/questions/20226110/detecting-vowels-vs-consonants-in-python)。 –

+0

如果元音是一个列表,那么'character!= vowel'将一个字符与一个列表进行比较,这永远不会是真的。另外,当从'wList'弹出时*从'wList'中删除*这个字符可能不是你想要的。尝试将第2行更改为“if(character not in vowel)”,而不是第二个循环,将其更改为'wList = word + word [:vCount]'。只要字至少有一个元音,这将起作用。如果不是,则需要额外处理。 – user650654

回答

0

我希望的代码是不言自明:

vowel = 'aeiou' 
my_word = 'education' 
vowel_list = vowel.split() 
my_word_list = my_word.split() 
for index, character in enumerate(my_word): 
    # Loop through the items in your my_word_list 
    if character in vowel_list: 
     print my_word_list[index:] + my_word_list[:index] 

输入1:教育

产出1:教育

输入2:知识

输出2:owledgekn

相关问题