domingo, 16 de agosto de 2026

Crea un programa que cuente cuántas veces se repite cada palabra y que muestre el recuento final de todas ellas. - Los signo de puntuación no forman parte de la palabra. - Una palabra es la misma aunque aparezca en mayúsculas y minúsculas en Python

Crea un programa que cuente cuántas veces se repite cada palabra y que muestre el recuento final de todas ellas.
- Los signo de puntuación no forman parte de la palabra.
- Una palabra es la misma aunque aparezca en mayúsculas y minúsculas.

Ejemplo: si ingresamos el texto: Hola, mi nombre es Linder. Mi nombre completo es linder linder (linder3hs).

En pantalla va a mostrar el mensaje:
{'es': 2, 'nombre': 2, 'hola': 1, 'mi': 2, 'completo': 1, 'linderhs': 1, 'linder': 3}

Código del ejercicio:

frase = input("Ingresar frase: ")
frase = frase.lower()
n_frase = ""
for i in frase:
    if i.isalpha() == True or i == " ":
        n_frase = n_frase + i
lista_palabras = n_frase.split()
palabras_unicas = set(lista_palabras)
print(dict([[i, lista_palabras.count(i)] for i in palabras_unicas]))

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.
isalpha() --> devuelve True si todos los caracteres son letras del alfabeto (az). Si no, devuelve False.
True --> valor booleano verdadero.
or --> devuelve True si una de las afirmaciones es verdadera.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
split() --> divide una cadena en una lista.
set() --> se utiliza para almacenar varios elementos en una sola variable y no tiene elementos duplicados.
print() --> imprime un mensaje en la pantalla.
dict() --> crea un diccionario. Un diccionario es una colección desordenada, modificable e indexada.
count() --> devuelve el número de elementos con el valor especificado.
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.

Explicación del Código:

Este programa permite ingresar una frase y contar cuántas veces aparece cada palabra. Los signos de puntuación son ignorados y las letras mayúsculas y minúsculas se consideran iguales.

Código en Python

frase = input("Ingresar frase: ")

frase = frase.lower()
n_frase = ""

for i in frase:
if i.isalpha() == True or i == " ":
n_frase = n_frase + i

lista_palabras = n_frase.split()
palabras_unicas = set(lista_palabras)

print(dict([[i, lista_palabras.count(i)] for i in palabras_unicas]))

Explicación de cada código

  • frase = input(...): permite que el usuario ingrese una frase.
  • frase = frase.lower(): convierte todas las letras de la frase a minúsculas. De esta manera, "Hola", "HOLA" y "hola" se consideran la misma palabra.
  • n_frase = "": crea una cadena de texto vacía que se utilizará para guardar la frase sin signos de puntuación.
  • for i in frase:: recorre la frase carácter por carácter.
  • i.isalpha(): comprueba si el carácter actual es una letra.
  • i == " ": comprueba si el carácter actual es un espacio. Los espacios se mantienen para poder separar las palabras.
  • or: significa "o". La condición será verdadera si el carácter es una letra o es un espacio.
  • n_frase = n_frase + i: agrega el carácter permitido a la nueva frase. Los signos de puntuación no se agregan.
  • lista_palabras = n_frase.split(): divide la frase en palabras y las guarda dentro de una lista.
  • palabras_unicas = set(lista_palabras): crea un conjunto con las palabras sin repetir. Esto permite trabajar una sola vez con cada palabra diferente.
  • lista_palabras.count(i): cuenta cuántas veces aparece la palabra actual dentro de la lista.
  • dict(...): convierte los resultados en un diccionario. La palabra será la clave y el número de repeticiones será su valor.
  • print(...): muestra en pantalla el resultado final.
Ejemplo: si el usuario escribe:

Hola mundo, hola Python. Mundo hola.

El programa eliminará los signos de puntuación y convertirá todo a minúsculas. El resultado será similar a:

{'hola': 3, 'mundo': 2, 'python': 1}

No hay comentarios.:

Publicar un comentario

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