﻿ Python: Reverse only the vowels of a given string - w3resource

# Python: Reverse only the vowels of a given string

## Python Basic - 1: Exercise-71 with Solution

Write a Python program to reverse only the vowels of a given string.

Sample Solution:

Python Code:

``````# Function to reverse the order of vowels in a string
def reverse_vowels(str1):
vowels = ""  # Variable to store vowels in their original order
for char in str1:
if char in "aeiouAEIOU":  # Check if the character is a vowel
vowels += char  # Append the vowel to the vowels variable
result_string = ""  # Variable to store the result string with reversed vowels
for char in str1:
if char in "aeiouAEIOU":  # Check if the character is a vowel
result_string += vowels[-1]  # Append the last vowel from the vowels variable
vowels = vowels[:-1]  # Remove the last vowel from the vowels variable
else:
result_string += char  # Append non-vowel characters as they are
return result_string

# Test cases
print(reverse_vowels("w3resource"))
print(reverse_vowels("Python"))
print(reverse_vowels("Perl"))
print(reverse_vowels("USA"))
``````

Sample Output:

```w3resuorce
Python
Perl
ASU
```

Explanation:

Here is a breakdown of the above Python code:

• Define a function named "reverse_vowels()" that takes a string (str1) as input.
• Initialize an empty string (vowels) to store vowels in their original order.
• Iterate through each character in the input string. If the character is a vowel, append it to the 'vowels' variable.
• Initialize an empty string (result_string) to store the result string with reversed vowels.
• Iterate through each character in the input string. If the character is a vowel, append the last vowel from the vowels variable to the result string and remove it from the 'vowels' variable. If the character is not a vowel, append it to the result string.
• Return the final result string.
• Test the function with various input strings and print the results.

Visual Presentation:

Flowchart:

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿