擅长:python、mysql、java
<pre><code>def reversevowel(text):
vowels = 'aeiouAEIOU'
text_list = list(text)
char_position = []
char_uppercase = []
char_list = []
# Iterate through characters in text
for i, c in enumerate(text_list):
if c in vowels:
char_position.append(i) # Add vowel position to list
char_uppercase.append(c.isupper()) # Add uppercase boolean to list
char_list.insert(0, c) # Use as stack. Insert character
zipped_list = list(zip(char_position, char_list, char_uppercase))
for letter in zipped_list:
position, character, uppercase = letter
text_list[position] = str(character).upper() if uppercase else str(character).lower()
return ''.join(text_list)
</code></pre>
<p>EDIT:此函数返回所需的结果,同时避免使用嵌套循环。你知道吗</p>