擅长:python、mysql、java
<pre><code>def reversevowel(text):
cap_indexes = [a for a, b in enumerate(text) if b.isupper()]
text = list(text.lower())
vowels = ('aeiouAEIOU')
x = 0
y = len(text) - 1
while x < y:
while (text[x] not in vowels and x < min(len(text) - 1, y)):
x += 1
while (text[y] not in vowels and y > max(0, x)):
y -= 1
text[x], text[y] = text[y], text[x]
x += 1
y -= 1
for n in cap_indexes:
text[n] = text[n].upper()
return ''.join(text)
</code></pre>