Skip to Content

Python – Check If String Ends with a Vowel

In this tutorial, we will look at how to check if a string in Python ends with a vowel or not with the help of some examples.

How to check if a string ends with a vowel character?

python check string ends with a vowel

To check if a string in Python ends with a vowel or not, check if the last character in the string is a vowel using the membership operator in.

The membership operator in in Python, returns True if a value is in a collection (for example, a character is present in a string) and returns False otherwise.

So, use the membership operator in to check if the last character in the string (character at index -1) is one of the vowel characters or not. The following is the syntax –

# check if string ends with a vowel
s[-1].lower() in "aeiou"

Here, we use the string lower() function to make the vowel check case-insensitive. It returns True if the string ends with a vowel.

Examples

Let’s now look at some examples. First, we will create some strings that we will use throughout this tutorial.

# create strings
s1 = "apple"
s2 = "leaf"
s3 = "$500"
s4 = ""

# display the strings
print(s1)
print(s2)
print(s3)
print(s4)

Output:

apple
leaf
$500

Here, we created four strings – s1, s2, s3 and s4. The string s1 ends with a vowel, the string s2 does not end with a vowel, the string s3 ends with a digit character '0' and the string s4 is an empty string.

Let’s now check if the strings s1, s2, and s3 end with a vowel or not.

# check if string ends wtih a vowel
print(s1[-1].lower() in "aeiou")
print(s2[-1].lower() in "aeiou")
print(s3[-1].lower() in "aeiou")

Output:

True
False
False

We get True for s1 as it does end with a vowel. We get False for s2 and s3 as they do not end with a vowel.

Now let’s apply the above method to the empty string, s4.

# check if string ends wtih a vowel
print(s4[-1].lower() in "aeiou")

Output:

---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
Input In [3], in <module>
      1 # check if string ends wtih a vowel
----> 2 print(s4[-1].lower() in "aeiou")

IndexError: string index out of range

We get an IndexError because we’re trying to access an index that does not exist (an empty string does not have a -1 index).

To avoid the above error, you can first check whether the string is non-empty and then proceed to check if the last character is a vowel or not. See the example below –

# function to check if string ends with a vowel
def check_str_ends_with_vowel(s):
    if s and s[-1].lower() in "aeiou":
        return True
    else:
        return False

# check if string ends with a vowel
print(check_str_ends_with_vowel(s4))

Output:

False

We get False as the output for the empty string.

You might also be interested in –


Subscribe to our newsletter for more informative guides and tutorials.
We do not spam and you can opt out any time.


Author

  • Piyush

    Piyush is a data scientist passionate about using data to understand things better and make informed decisions. In the past, he's worked as a Data Scientist for ZS and holds an engineering degree from IIT Roorkee. His hobbies include watching cricket, reading, and working on side projects.