1 usuario conectado

Contar vocales. Ejercicio en Python

Comparte esto

 

Escribe una función en Python llamada contar_vocales que tome una cadena de texto como entrada y devuelva un diccionario donde las claves sean las vocales (a, e, i, o, u) y los valores sean la cantidad de veces que cada vocal aparece en la cadena. No distingas entre mayúsculas y minúsculas (es decir, 'A' y 'a' deben contarse juntas).

Piensa en cómo puedes recorrer la cadena, identificar las vocales y mantener un conteo de cada una.

Intenta resolverlo por tu cuenta primero. ¡Tómate tu tiempo!

 

Más ejercicios





Mostrar/Ocultar ejercicio resuelto


  Solución al Ejercicio: Contar vocales

📋 Copiar código


def contar_vocales(cadena):
  """
  Cuenta la frecuencia de cada vocal (a, e, i, o, u) en una cadena.

  Args:
    cadena: La cadena de texto a analizar.

  Returns:
    Un diccionario donde las claves son las vocales y los valores son sus frecuencias.
  """
  vocales = "aeiou"
  conteo_vocales = {'a': 0, 'e': 0, 'i': 0, 'o': 0, 'u': 0}
  cadena = cadena.lower()  # Convertir la cadena a minúsculas para no distinguir

  for caracter in cadena:
    if caracter in vocales:
      conteo_vocales[caracter] += 1

  return conteo_vocales

# Ejemplo de uso:
texto1 = "Hola Mundo"
resultado1 = contar_vocales(texto1)
print(f"Conteo de vocales en '{texto1}': {resultado1}")

texto2 = "AEIOUaeiou"
resultado2 = contar_vocales(texto2)
print(f"Conteo de vocales en '{texto2}': {resultado2}")

texto3 = "Murcielago"
resultado3 = contar_vocales(texto3)
print(f"Conteo de vocales en '{texto3}': {resultado3}")
 

Explicación de la solución:

  1. def contar_vocales(cadena):: Define una función llamada contar_vocales que toma una cadena como argumento.
  2. vocales = "aeiou": Define una cadena que contiene todas las vocales en minúsculas para facilitar la comparación.
  3. conteo_vocales = {'a': 0, 'e': 0, 'i': 0, 'o': 0, 'u': 0}: Inicializa un diccionario llamado conteo_vocales con cada vocal como clave y un valor inicial de 0. Este diccionario almacenará el conteo de cada vocal.
  4. cadena = cadena.lower(): Convierte la cadena de entrada a minúsculas utilizando el método .lower(). Esto asegura que no distingamos entre mayúsculas y minúsculas al contar las vocales.
  5. for caracter in cadena:: Itera a través de cada caracter en la cadena convertida a minúsculas.
  6. if caracter in vocales:: Comprueba si el caracter actual se encuentra dentro de la cadena vocales.
  7. conteo_vocales[caracter] += 1: Si el caracter es una vocal, incrementa el contador correspondiente en el diccionario conteo_vocales.
  8. return conteo_vocales: Después de recorrer toda la cadena, la función devuelve el diccionario conteo_vocales con la frecuencia de cada vocal.

El ejemplo de uso muestra cómo llamar a la función con diferentes cadenas y cómo se imprime el diccionario resultante.