.
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:
-
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.
-
"""Docstring..."""
:
- La cadena de documentación explica la
función, su argumento y lo que devuelve.
-
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.
-
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.
-
for caracter in
texto_minisculas:
:
- Se inicia un bucle
for
para
iterar sobre cada caracter
en la cadena
texto_minisculas
.
-
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
.
-
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
.
-
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).
-
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.