如何在while循环运行时保存每个字母

时间:2015-04-07 01:55:43

标签: python while-loop

word = raw_input('Enter a word: ')

for i in word:
    if i in ['a','e','i','u','A','E','I','O','o','U']:
        word1 = i
        break

    else:
        print i,


print ""

i = 0
while word[i]!=word1:

这是我遇到问题的地方。我需要在元音之前保存每个字母(或者我尝试过的g)。这是猪拉丁语翻译的开始。在这个阶段,我试图翻转前缀和其余部分。

    g = word[i]
    i = i+1


prefix = g + word1

print prefix

示例:

input -  person
output - rsonpe

input -  hello
output - llohe

input -  pppat
output - tpppa

input -  hhhhhelllllloool
output - llllllooolhhhhhe

我在第一个元音和其他单词之前翻转字母。

2 个答案:

答案 0 :(得分:0)

看起来像regular expressions的作业:

import re

Vowel = re.compile('[aeiouAEIOU]')

def flipper ( inStr ) :
    myIndex = Vowel.search( inStr ).start() + 1
    return inStr[myIndex:] + inStr[:myIndex]

flipper( 'hello' )

输出:

'llohe'

或者,如果你真的想用while循环来做,你只需要在while循环之外定义一个可以保存的全局变量。

答案 1 :(得分:0)

如果您熟悉它,可以使用正则表达式,或者您可以以非常简单粗暴的方式编辑这样的代码。

word = raw_input('Enter a word: ')
word1 = 0
for i in range(0,len(word)) :
    if word[i] in ['a','e','i','u','A','E','I','O','o','U']:
        word1=i
        break
print word[word1+1:]+word[:word1]+word[word1]