Skip to content
Related Articles

Related Articles

Python | Program to accept the strings which contains all vowels

View Discussion
Improve Article
Save Article
  • Difficulty Level : Basic
  • Last Updated : 21 Jul, 2022

Given a string, the task is to check if every vowel is present or not. We consider a vowel to be present if it is present in upper case or lower case. i.e. ‘a’, ‘e’, ‘i’.’o’, ‘u’ or ‘A’, ‘E’, ‘I’, ‘O’, ‘U’ . 
Examples : 

Input : geeksforgeeks
Output : Not Accepted
All vowels except 'a','i','u' are not present

Input : ABeeIghiObhkUul
Output : Accepted
All vowels are present

Approach : Firstly, create set of vowels using set() function. Check for each character of the string is vowel or not, if vowel then add into the set s. After coming out of the loop, check length of the set s, if length of set s is equal to the length of the vowels set then string is accepted otherwise not. 
Below is the implementation : 

Python3




# Python program to accept the strings
# which contains all the vowels
  
# Function for check if string
# is accepted or not
def check(string) :
  
    string = string.lower()
  
    # set() function convert "aeiou"
    # string into set of characters
    # i.e.vowels = {'a', 'e', 'i', 'o', 'u'}
    vowels = set("aeiou")
  
    # set() function convert empty 
    # dictionary into empty set
    s = set({})
  
    # looping through each
    # character of the string
    for char in string :
  
        # Check for the character is present inside
        # the vowels set or not. If present, then
        # add into the set s by using add method
        if char in vowels :
            s.add(char)
        else:
            pass
              
    # check the length of set s equal to length 
    # of vowels set or not. If equal, string is  
    # accepted otherwise not
    if len(s) == len(vowels) :
        print("Accepted")
    else :
        print("Not Accepted")
  
  
# Driver code
if __name__ == "__main__" :
      
    string = "SEEquoiaL"
  
    # calling function
    check(string)

Output

Accepted

Alternate Implementation :

Python3




def check(string):
    string = string.replace(' ', '')
    string = string.lower()
    vowel = [string.count('a'), string.count('e'), string.count(
        'i'), string.count('o'), string.count('u')]
  
    # If 0 is present int vowel count array
    if vowel.count(0) > 0:
        return('not accepted')
    else:
        return('accepted')
  
  
# Driver code
if __name__ == "__main__":
  
    string = "SEEquoiaL"
  
    print(check(string))

Output

accepted

Alternate Implementation 2.0 : 

Python3




# Python program for the above approach
def check(string):
    if len(set(string.lower()).intersection("aeiou")) >= 5:
        return ('accepted')
    else:
        return ("not accepted")
  
  
# Driver code
if __name__ == "__main__":
    string = "geeksforgeeks"
    print(check(string))

Output

not accepted

Alternate Implementation 3.0 (Using Regular Expressions):

Compile a regular expression using compile() for “character is not a, e, i, o and u”.
Use re.findall() to fetch the strings satisfying the above regular expression.
Print output based on the result.

Python3




#import library
import re
  
sampleInput = "aeioAEiuioea"
  
# regular expression to find the strings
# which have characters other than a,e,i,o and u
c = re.compile('[^aeiouAEIOU]')
  
# use findall() to get the list of strings
# that have characters other than a,e,i,o and u.
if(len(c.findall(sampleInput))):
    print("Not Accepted"# if length of list > 0 then it is not accepted
else:
    print("Accepted"# if length of list = 0 then it is accepted

Output

Accepted

Alternate Implementation 4.0 (using data structures):

Python3




# Python | Program to accept the strings which contains all vowels
  
  
def all_vowels(str_value):
  
    new_list = [char for char in str_value.lower() if char in 'aeiou']
  
    if new_list:
  
        dic, lst = {}, []
  
        for char in new_list:
            dic['a'] = new_list.count('a')
            dic['e'] = new_list.count('e')
            dic['i'] = new_list.count('i')
            dic['o'] = new_list.count('o')
            dic['u'] = new_list.count('u')
  
        for i, j in dic.items():
            if j == 0:
                lst.append(i)
  
        if lst:
            return f"All vowels except {','.join(lst)} are not present"
        else:
            return 'All vowels are present'
  
    else:
        return "No vowels present"
  
  
# function-call
str_value = "geeksforgeeks"
print(all_vowels(str_value))
  
str_value = "ABeeIghiObhkUul"
print(all_vowels(str_value))
  
# contribute by saikot

Output

All vowels except a,i,u are not present
All vowels are present

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!