martes, 11 de agosto de 2026

Realizar un programa que permita ingresar una frase y muestre si tiene más vocales o más consonantes en Python

Código del ejercicio:

vocales = ["a", "e", "i", "o", "u"]
letra_vocal = 0
letra_consonante = 0
espacios = 0
frase = input("Ingresar frase: ").lower()
for letras in frase:
    if letras in vocales:
        letra_vocal +=1
    if letras.isspace():
        espacios += 1
    if letras is not vocales:
        letra_consonante += 1
letra_consonante = letra_consonante - letra_vocal - espacios
if letra_consonante < letra_vocal:
    print("La frase tiene mas vocales que consonantes")
else:
    print("La frase tiene mas consonantes que vocales")
print(f'Espacios: {espacios}\nVocales: {letra_vocal}\nConsonantes: {letra_consonante}')

Definición de los códigos del ejercicio:

input() --> permite obtener texto escrito por teclado.
lower() --> devuelve una cadena donde todos los caracteres están en minúsculas.
for --> el bucle for se utiliza para recorrer los elementos de un objeto iterable (lista, tupla, conjunto, diccionario, …) y ejecutar un bloque de código.
in --> el operador in devuelve True si el valor se encuentra en una secuencia; False en caso contrario.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
is not --> comprueba si dos variables apuntan al mismo objeto en la memoria.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
print() --> imprime un mensaje en la pantalla.
f'{}' --> un literal de cadena con formato o f-string es un literal de cadena que tiene el prefijo 'f'o 'F'. Facilita crear interpolaciones en cadenas de texto, simplificando de este modo tanto la lectura como la escritura de estas. Si quieres mostrar variables utilizando f-strings, solo tienes especificar el nombre de las variables entre llaves {}. Y al ejecutar tu código, todos los nombres de las variables serán remplazados con sus respectivos valores.
\n --> es el carácter de salto de línea y se usa para indicar el fin de una línea de texto y el inicio de una línea nueva.

Explicación del Código:

Enunciado del ejercicio

Realizar un programa que permita ingresar una frase y muestre si tiene más vocales o más consonantes en Python.

Código Python

vocales = ["a", "e", "i", "o", "u"]

letra_vocal = 0
letra_consonante = 0
espacios = 0

frase = input("Ingresar frase: ").lower()

for letras in frase:

    if letras in vocales:
        letra_vocal += 1

    if letras.isspace():
        espacios += 1

    if letras not in vocales:
        letra_consonante += 1

letra_consonante = letra_consonante - letra_vocal - espacios

if letra_consonante < letra_vocal:
    print("La frase tiene mas vocales que consonantes")
else:
    print("La frase tiene mas consonantes que vocales")

print(f'Espacios: {espacios}\nVocales: {letra_vocal}\nConsonantes: {letra_consonante}')

¿Cómo se hace el ejercicio?

Primero necesitamos pedir al usuario que ingrese una frase. Después recorremos la frase letra por letra para determinar cuáles son vocales, consonantes y espacios.

1. Crear una lista con las vocales

vocales = ["a", "e", "i", "o", "u"]
¿Qué hace?

Crea una lista llamada vocales que contiene las cinco vocales.

Después podemos comprobar si una letra pertenece a esta lista.

2. Crear los contadores

letra_vocal = 0
letra_consonante = 0
espacios = 0

Se crean tres variables que comienzan en cero.

  • letra_vocal: contará las vocales.
  • letra_consonante: contará las consonantes.
  • espacios: contará los espacios de la frase.

3. Pedir la frase al usuario

frase = input("Ingresar frase: ").lower()

input() permite que el usuario escriba una frase.

.lower() convierte las letras de la frase a minúsculas.

Por ejemplo:

"HOLA MUNDO" se convierte en "hola mundo".

4. Recorrer la frase

for letras in frase:

El ciclo for recorre la frase carácter por carácter.

Por ejemplo, si escribimos:

hola

Python revisará:

  • h
  • o
  • l
  • a

5. Comprobar si es una vocal

if letras in vocales:
    letra_vocal += 1

in comprueba si la letra está dentro de la lista de vocales.

Si encuentra una vocal, se ejecuta:

letra_vocal += 1

Esto significa que el contador de vocales aumenta en uno.

6. Contar los espacios

if letras.isspace():
    espacios += 1

isspace() permite comprobar si el carácter es un espacio.

Cuando encuentra un espacio, la variable espacios aumenta en uno.

7. Contar las consonantes

if letras not in vocales:
    letra_consonante += 1

not in significa "no está dentro de".

Por lo tanto, comprueba que la letra no sea una vocal.

Sin embargo, aquí también se pueden contar espacios y otros caracteres. Por eso posteriormente se realiza una corrección.

8. Obtener correctamente las consonantes

letra_consonante = letra_consonante - letra_vocal - espacios

Como anteriormente se contaron todos los caracteres que no eran vocales, también se incluyeron los espacios.

Por eso se restan los espacios y las vocales para obtener la cantidad de consonantes.

9. Comparar vocales y consonantes

if letra_consonante < letra_vocal:
    print("La frase tiene mas vocales que consonantes")
else:
    print("La frase tiene mas consonantes que vocales")

Aquí se comparan los dos contadores.

Si la cantidad de consonantes es menor que la cantidad de vocales, significa que hay más vocales.

En caso contrario, el programa indica que hay más consonantes.

10. Mostrar los resultados

print(f'Espacios: {espacios}
Vocales: {letra_vocal}
Consonantes: {letra_consonante}')

Finalmente, print() muestra en pantalla la cantidad de espacios, vocales y consonantes.

Ejemplo

Si el usuario introduce:

Hola mundo

El programa analiza cada carácter y obtiene:

  • Vocales: 4
  • Consonantes: 5
  • Espacios: 1

Como hay más consonantes que vocales, el resultado será:

La frase tiene más consonantes que vocales.

Resumen del funcionamiento

El programa sigue estos pasos:

  1. Guarda las vocales en una lista.
  2. Crea contadores para vocales, consonantes y espacios.
  3. Pide una frase al usuario.
  4. Recorre la frase carácter por carácter.
  5. Cuenta las vocales.
  6. Cuenta los espacios.
  7. Obtiene la cantidad de consonantes.
  8. Compara vocales y consonantes.
  9. Muestra cuál tiene mayor cantidad.

No hay comentarios.:

Publicar un comentario

Copyright © Ejercicios de programación. Todos los derechos reservados. ❤️