Programa Python para contar el número de cada vocal

En este programa, aprenderá a contar el número de cada vocal en una cadena usando el diccionario y la comprensión de listas.

Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de Python:

  • Python para bucle
  • Cadenas de Python
  • Métodos de cadena

Código fuente: uso de diccionario

 # Program to count the number of each vowels # string of vowels vowels = 'aeiou' ip_str = 'Hello, have you tried our tutorial section yet?' # make it suitable for caseless comparisions ip_str = ip_str.casefold() # make a dictionary with each vowel a key and value 0 count = ().fromkeys(vowels,0) # count the vowels for char in ip_str: if char in count: count(char) += 1 print(count) 

Salida

 ('o': 5, 'i': 3, 'a': 2, 'e': 5, 'u': 3) 

Aquí, hemos tomado una cadena almacenada en ip_str. Con el método casefold(), lo hacemos adecuado para comparaciones sin mayúsculas. Básicamente, este método devuelve una versión en minúsculas de la cadena.

Usamos el método del diccionario fromkeys()para construir un nuevo diccionario con cada vocal como clave y todos los valores iguales a 0. Esta es la inicialización del conteo.

A continuación, iteramos sobre la cadena de entrada usando un bucle for.

En cada iteración, verificamos si el carácter está en las claves del diccionario ( Truesi es una vocal) e incrementamos el valor en 1 si es verdadero.

Código fuente: uso de una lista y una comprensión del diccionario

 # Using dictionary and list comprehension ip_str = 'Hello, have you tried our tutorial section yet?' # make it suitable for caseless comparisions ip_str = ip_str.casefold() # count the vowels count = (x:sum((1 for char in ip_str if char == x)) for x in 'aeiou') print(count) 

La salida de este programa es la misma que la anterior.

Aquí, hemos anidado una lista de comprensión dentro de una comprensión de diccionario para contar las vocales en una sola línea.

La comprensión del diccionario se ejecuta para todos los caracteres de las vocales y la comprensión de la lista dentro de la comprensión del diccionario verifica si algún carácter de la cadena coincide con esa vocal en particular.

Al final, se genera una lista con 1 s para el número de cada carácter vocal. El sum()método se utiliza para calcular la suma de los elementos de cada lista.

Sin embargo, este programa es más lento ya que iteramos sobre toda la cadena de entrada para cada vocal.

Articulos interesantes...