1 usuario conectado

Contar el número de vocales en Python

Comparte esto

 
Escribe un código Python que tome una cadena de texto que contiene múltiples líneas. El código debe contar el número de veces que aparece cada vocal (a, e, i, o, u, sin importar si son mayúsculas o minúsculas) en todo el texto y devolver un diccionario con el recuento de cada vocal.

.


Más ejercicios




Mostrar/Ocultar ejercicio resuelto


  Solución al Ejercicio: Contar el número de vocales

📋 Copiar código


def contar_vocales(texto_multilinea):
  """
  Toma una cadena de texto con múltiples líneas y cuenta la frecuencia de cada vocal (a, e, i, o, u),
  ignorando las mayúsculas y minúsculas.

  Args:
    texto_multilinea: Una cadena de texto que puede contener múltiples líneas.

  Returns:
    Un diccionario donde las claves son las vocales en minúsculas ('a', 'e', 'i', 'o', 'u')
    y los valores son el número de veces que aparece cada vocal en el texto.
  """
  contador_vocales = {'a': 0, 'e': 0, 'i': 0, 'o': 0, 'u': 0}
  texto_minisculas = texto_multilinea.lower()
  for caracter in texto_minisculas:
    if caracter in contador_vocales:
      contador_vocales[caracter] += 1
  return contador_vocales

# Ejemplo de uso
mi_texto_largo = """
Esta es la primera línea del texto.
Aquí hay algunas vocales más: aeiouAEIOU.
Y otra línea con más vocales para contar.
"""

conteo = contar_vocales(mi_texto_largo)
print(f"Texto original:\n{mi_texto_largo}")
print(f"Conteo de vocales: {conteo}")

otro_texto = "Sin vocales."
otro_conteo = contar_vocales(otro_texto)
print(f"Texto original:\n{otro_texto}")
print(f"Conteo de vocales: {otro_conteo}")


Explicación del Código:

  1. def contar_vocales(texto_multilinea)::

    • Se define una función llamada contar_vocales que toma una cadena de texto (texto_multilinea) como argumento. Se espera que esta cadena pueda contener saltos de línea.
  2. """Docstring...""":

    • La cadena de documentación explica la función, su argumento y lo que devuelve.
  3. contador_vocales = {'a': 0, 'e': 0, 'i': 0, 'o': 0, 'u': 0}:

    • Se inicializa un diccionario llamado contador_vocales. Las claves son las vocales en minúsculas ('a', 'e', 'i', 'o', 'u') y los valores se inicializan en 0. Este diccionario se utilizará para almacenar el recuento de cada vocal.
  4. texto_minisculas = texto_multilinea.lower():

    • Se convierte toda la cadena de texto de entrada a minúsculas utilizando el método lower(). Esto asegura que las vocales en mayúsculas (A, E, I, O, U) se cuenten junto con sus equivalentes en minúsculas.
  5. for caracter in texto_minisculas::

    • Se inicia un bucle for para iterar sobre cada caracter en la cadena texto_minisculas.
  6. if caracter in contador_vocales::

    • Dentro del bucle, se verifica si el caracter actual es una de las claves (es decir, una vocal) en el diccionario contador_vocales.
  7. contador_vocales[caracter] += 1:

    • Si el caracter es una vocal (está en el diccionario), se incrementa en 1 el valor asociado a esa vocal en el diccionario contador_vocales.
  8. return contador_vocales:

    • Después de iterar sobre todos los caracteres de la cadena, la función devuelve el diccionario contador_vocales, que contiene el recuento total de cada vocal encontrada en el texto original (sin distinguir entre mayúsculas y minúsculas).

     

  9. Ejemplo de uso:

    • Se define una cadena de texto de varias líneas llamada mi_texto_largo que contiene diferentes vocales en mayúsculas y minúsculas.
    • Se llama a la función contar_vocales con esta cadena y el resultado (el diccionario con el conteo de vocales) se almacena en la variable conteo.
    • Se imprime el texto original y el diccionario de conteo de vocales.
    • También se incluye un ejemplo con una cadena sin vocales para mostrar el resultado en ese caso.