Dada una string, la tarea es verificar si todas las vocales están presentes o no. Consideramos que una vocal está presente si está en mayúsculas o minúsculas. es decir, ‘a’, ‘e’, ’i’, ‘o’, ‘u’ o ‘A’, ‘E’, ‘I’, ‘O’, ‘U’.
Ejemplos:
Input : geeksforgeeks Output : Not Accepted All vowels except 'a','i','u' are not present Input : ABeeIghiObhkUul Output : Accepted All vowels are present
Enfoque: en primer lugar, cree un conjunto de vocales usando la función set(). Verifique que cada carácter de la string sea vocal o no, si es vocal, agréguelo al conjunto s. Después de salir del ciclo, verifique la longitud del conjunto s, si la longitud del conjunto s es igual a la longitud del conjunto de vocales, entonces se acepta la string; de lo contrario, no.
A continuación se muestra la implementación:
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)
Accepted
Implementación alternativa:
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))
accepted
Implementación alternativa 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))
not accepted
Implementación alternativa 3.0 (usando expresiones regulares):
Compile una expresión regular usando compile() para «el carácter no es a, e, i, o y u».
Use re.findall() para obtener las strings que satisfacen la expresión regular anterior.
Imprimir salida basada en el resultado.
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
Accepted
Implementación alternativa 4.0 (usando estructuras de datos):
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
All vowels except a,i,u are not present All vowels are present