Ejercicio 03 — Cuenta las vocales de una frase
Dificultad: verde · Módulo 06 (Cadenas)
Enunciado
Cuenta las vocales de una frase (mayúsculas y minúsculas)
Cómo se resuelve
Contar vocales enseña dos cosas clave de las cadenas: que se pueden recorrer como una secuencia de caracteres y que in sirve para preguntar “¿pertenece a este conjunto?“.
vocales = 0— un contador que arrancamos a cero antes del bucle.for c in frase.lower():— en Python iteras la cadena directamente: en cada vueltaces un carácter. Aplicamos.lower()sobre la frase para que ‘A’ y ‘a’ cuenten igual sin escribir dos condiciones.if c in "aeiou":— el operadorincomprueba si el caráctercestá dentro de la cadena"aeiou". Es una forma compacta de decir “es una vocal” sin encadenar cinco comparaciones con==.vocales += 1— sumamos uno cada vez que la condición se cumple. Al terminar el bucle,print(f"Vocales: {vocales}")muestra el total.
Trampa habitual: en C recorrerías el char[] con un índice hasta el \0 y compararías cada carácter una a una. En Python no hay \0 ni necesitas el índice: for c in cadena te da los caracteres directamente y in sustituye la cadena de comparaciones.
Para practicar — cópialo y complétalo
Pega este esqueleto y completa los TODO. Es la mejor forma de aprender: inténtalo antes de mirar la solución.
# Curso de Python — Modulo 06: Cadenas: transformar y formatear
# Ejercicio 03 — PRACTICA (rellena los TODO)
# Enunciado: Cuenta las vocales de una frase (mayúsculas y minúsculas)
# Dificultad: verde
# Ejecutar: python3 ej03_practica.py
frase = input("Introduce una frase: ")
vocales = 0
# TODO: recorre la frase caracter a caracter (for c in frase.lower())
# y suma 1 cada vez que el caracter este en "aeiou"
for c in frase.lower():
pass # reemplaza por el if que cuenta las vocales
# TODO: imprime con f-string "Vocales: X"
print()Solución — cópiala y ejecútala
# Curso de Python — Modulo 06: Cadenas: transformar y formatear
# Ejercicio 03 — MODELO (resuelto)
# Enunciado: Cuenta las vocales de una frase (mayúsculas y minúsculas)
# Dificultad: verde
# Ejecutar: python3 ej03_modelo.py
frase = input("Introduce una frase: ")
# Recorremos caracter a caracter. Pasamos cada uno a minuscula
# para que 'A' y 'a' cuenten igual. 'in' comprueba si es vocal.
vocales = 0
for c in frase.lower():
if c in "aeiou":
vocales += 1
print(f"Vocales: {vocales}")Cómo usarlo
Pega el código en un fichero y ejecútalo con tu toolchain habitual (o el botón de Ejecutar de tu editor). Antes de mirar la solución, intenta completar tú el esqueleto: es la mejor forma de aprender.