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}

La Municipalidad de Lima Metropolitana desea minimizar los accidentes automovilísticos de la ciudad; para lo cual realiza un diagnóstico, en el informe se advierte que uno de los problemas es el exceso de la velocidad por parte de los conductores. Por lo tanto, como primera medida será enviar automáticamente un mensaje de advertencia a los conductores que superan la velocidad de 30 km/h en Python

La Municipalidad de Lima Metropolitana desea minimizar los accidentes automovilísticos de la ciudad; para lo cual realiza un diagnóstico, en el informe se advierte que uno de los problemas es el exceso de la velocidad por parte de los conductores. Por lo tanto, como primera medida será enviar automáticamente un mensaje de advertencia a los conductores que superan la velocidad de 30 km/h

Bajo este escenario, se pide diseñar un algoritmo (Pseudocódigo) que permita a la Municipalidad de Lima implementar su primera medida; ingresando el número de placa y la velocidad.

Código del ejercicio:

placa = input("Ingresar número de placa: ")
velocidad = float(input("Ingresar velocidad: "))
if velocidad > 30:
    print(f'Advertencia! exceso de velocidad, supera la velocidad de 30 km/h\nPlaca del vehículo: {placa}')

Definición de los códigos del ejercicio:

float() --> convierte un número entero en un número de punto flotante.
input() --> permite obtener texto escrito por teclado.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor 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:

La Municipalidad de Lima Metropolitana desea minimizar los accidentes automovilísticos de la ciudad. Como parte del diagnóstico, se determinó que uno de los problemas es el exceso de velocidad por parte de los conductores.

Por ello, se desarrolla un programa que envía automáticamente un mensaje de advertencia a los conductores que superan los 30 km/h.

Código en Python

placa = input("Ingresar número de placa: ")
velocidad = float(input("Ingresar velocidad: "))

if velocidad > 30:
    print(f'Advertencia! exceso de velocidad, supera la velocidad de 30 km/h\nPlaca del vehículo: {placa}')

Explicación de cada código

1. Solicitar la placa

placa = input("Ingresar número de placa: ") solicita al usuario que ingrese el número de placa del vehículo. El dato ingresado se almacena en la variable placa.

2. Solicitar la velocidad

velocidad = float(input("Ingresar velocidad: ")) solicita al usuario la velocidad del vehículo. La función float() convierte el dato ingresado en un número que puede contener decimales.

3. Comprobar la velocidad

if velocidad > 30: comprueba si la velocidad ingresada es mayor que 30 km/h.

4. Mostrar la advertencia

print(...) muestra un mensaje de advertencia cuando el vehículo supera los 30 km/h.

5. Mostrar la placa

{placa} permite mostrar dentro del mensaje la placa que ingresó el usuario.

6. Salto de línea

\n realiza un salto de línea para que la placa aparezca debajo del mensaje de advertencia.

¿Cómo funciona el programa?

Primero, el programa solicita el número de placa y la velocidad del vehículo. Después, verifica si la velocidad es mayor que 30 km/h. Si se supera ese límite, muestra un mensaje indicando que existe exceso de velocidad y también muestra la placa del vehículo.

Calcular el cuadrado de un número mediante sumas en Python

Código del ejercicio:

n = int(input("Ingresar número: "))
cuadrado = 0
for i in range(n):
    cuadrado += n
print(cuadrado)

Definición de los códigos del ejercicio:

int() --> convierte el valor especificado en un número entero.
input() --> permite obtener texto escrito por teclado.
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.
range --> es un tipo que se utiliza para representar una secuencia inmutable de números. Uno de sus principales usos es junto a la sentencia for, para definir un bucle sobre el que se itera un número determinado de veces.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
print() --> imprime un mensaje en la pantalla.

Explicación del Código:

Este ejercicio calcula el cuadrado de un número utilizando sumas repetidas. Por ejemplo, para calcular 5² se realiza: 5 + 5 + 5 + 5 + 5 = 25.

Código en Python

n = int(input("Ingresar número: "))
cuadrado = 0

for i in range(n):
    cuadrado += n

print(cuadrado)

Explicación del código

n = int(input("Ingresar número: "))
Pide al usuario que ingrese un número y lo convierte a entero.

cuadrado = 0
Crea una variable llamada cuadrado y comienza su valor en cero.

for i in range(n):
Repite las instrucciones que están dentro del ciclo n veces.

cuadrado += n
Suma el número n al resultado acumulado. Es lo mismo que: cuadrado = cuadrado + n.

print(cuadrado)
Muestra el resultado del cuadrado en pantalla.

Ejemplo

Si el usuario ingresa: 5

5 + 5 + 5 + 5 + 5 = 25

Resultado: 25

Imprime un calendario para el año y mes dado en Python

Código del ejercicio:

import calendar
anio = int(input("Ingresar año: "))
mes = int(input("Ingresar mes: "))
print(calendar.month(anio, mes))

Definición de los códigos del ejercicio:

import --> usa import palabra clave para hacer que el código de un módulo esté disponible en otro.
calendar --> el módulo de calendario permite generar calendarios como el programa y proporciona funciones útiles adicionales relacionadas con el calendario.
int() --> convierte el valor especificado en un número entero.
input() --> permite obtener texto escrito por teclado.
print() --> imprime un mensaje en la pantalla.
calendar.month() --> devuelve el calendario de un mes.
, --> concatena variables de cadena.

Explicación del Código:

Código Python

import calendar
anio = int(input("Ingresar año: "))
mes = int(input("Ingresar mes: "))
print(calendar.month(anio, mes))

Explicación de cada código

import calendar
Importa el módulo calendar, que permite trabajar con calendarios en Python.
anio = int(input("Ingresar año: "))
Pide al usuario que ingrese un año. La función int() convierte el dato ingresado en un número entero.
mes = int(input("Ingresar mes: "))
Pide al usuario que ingrese el número del mes y lo convierte en un número entero.
print(calendar.month(anio, mes))
Genera el calendario utilizando el año y el mes ingresados y después lo muestra en pantalla.
calendar.month(anio, mes)
La función month() crea el calendario del mes indicado utilizando los valores de anio y mes.
Ejemplo:
Si el usuario ingresa el año 2026 y el mes 8, Python mostrará el calendario correspondiente a agosto de 2026.

Crear la serie Fibonacci de los N primeros números usando la función lambda en Python

Código del ejercicio:

fib = lambda n:n if n <= 1 else fib(n - 1) + fib(n - 2)
n = int(input("Ingresar número: "))
for i in range(n):
    cf = fib(i)
    print(cf, end=',')

Definición de los códigos del ejercicio:

lambda --> una función lambda es una pequeña función anónima. Puede tomar cualquier cantidad de argumentos, pero solo puede tener una expresión.
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 menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
int() --> convierte el valor especificado en un número entero.
input() --> permite obtener texto escrito por teclado.
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.
range --> es un tipo que se utiliza para representar una secuencia inmutable de números. Uno de sus principales usos es junto a la sentencia for, para definir un bucle sobre el que se itera un número determinado de veces.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.
end --> el parámetro end se usa para agregar una cadena a la salida de print() cuando se realiza la impresión de una declaración. Pero, ¿alguna vez se preguntó por qué después de cada declaración de impresión, el cursor se mueve a la siguiente línea? Esto se debe a que la declaración de impresión viene con un valor predeterminado de parámetro final que es '\n'.

Explicación del Código:

El objetivo del ejercicio es generar los primeros N números de la serie Fibonacci utilizando una función lambda.

Código en Python

fib = lambda n: n if n <= 1 else fib(n - 1) + fib(n - 2)

n = int(input("Ingresar número: "))

for i in range(n):
    cf = fib(i)
    print(cf, end=',')

Explicación de cada código

  • fib = lambda n: n if n <= 1 else fib(n - 1) + fib(n - 2)
    Crea una función llamada fib utilizando lambda. Esta función calcula un número de Fibonacci. Si n es 0 o 1, devuelve el mismo número. Si es mayor, suma los dos números anteriores.
  • n = int(input("Ingresar número: "))
    Pide al usuario que ingrese cuántos números de Fibonacci quiere generar. int() convierte el valor ingresado en un número entero.
  • for i in range(n):
    Repite el proceso desde 0 hasta n - 1. De esta manera se generan los primeros N números de Fibonacci.
  • cf = fib(i)
    Llama a la función fib utilizando el valor de i y guarda el resultado en la variable cf.
  • print(cf, end=',')
    Muestra en pantalla el número de Fibonacci calculado. end="," hace que los números aparezcan separados por comas en la misma línea.

¿Cómo funciona Fibonacci?

La serie Fibonacci comienza normalmente con:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34...

Cada número se obtiene sumando los dos números anteriores. Por ejemplo:

0 + 1 = 1
1 + 1 = 2
1 + 2 = 3
2 + 3 = 5
3 + 5 = 8

Ejemplo

Si el usuario introduce 7, el programa genera:

0,1,1,2,3,5,8,

Convertir centímetros a pulgadas, metros y milímetros en Python

Código del ejercicio:

centimetro = float(input("centímetro: "))
pulgada = centimetro * 0.393701
metro = centimetro * 0.01
milimetro = centimetro * 10
print(f'Pulgadas: {pulgada} in\nMetros: {metro} m\nMilímetros: {milimetro} mm')

Definición de los códigos del ejercicio:

float() --> convierte un número entero en un número de punto flotante.
input() --> permite obtener texto escrito por teclado.
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:

Este ejercicio permite ingresar una cantidad en centímetros y convertirla a pulgadas, metros y milímetros.

Código en Python

centimetro = float(input("centímetro: "))
pulgada = centimetro * 0.393701
metro = centimetro * 0.01
milimetro = centimetro * 10
print(f'Pulgadas: {pulgada} in\nMetros: {metro} m\nMilímetros: {milimetro} mm')

Explicación de cada código

  • centimetro = float(input("centímetro: ")): Pide al usuario que ingrese una cantidad en centímetros y la convierte en un número decimal.
  • pulgada = centimetro * 0.393701: Convierte los centímetros a pulgadas. Un centímetro equivale aproximadamente a 0.393701 pulgadas.
  • metro = centimetro * 0.01: Convierte los centímetros a metros. Un centímetro equivale a 0.01 metros.
  • milimetro = centimetro * 10: Convierte los centímetros a milímetros. Un centímetro equivale a 10 milímetros.
  • print(...): Muestra los resultados de las conversiones en pantalla.
  • f'...': Permite insertar los valores de las variables dentro del texto.
  • \n: Realiza un salto de línea para mostrar cada resultado en una línea diferente.

Ejemplo

Si el usuario introduce 10 centímetros, el programa mostrará aproximadamente:

  • 3.93701 pulgadas
  • 0.1 metros
  • 100 milímetros

Dividir n cantidad de números en Python

Código del ejercicio:

n = int(input("¿Cuántos números quiere dividir?: "))
div = 0
i = 0
while i < n:
    num = int(input("Ingresar número: "))
    if i == 0:
        div = num
    elif num == 0:
        print("No se puede dividir entre cero.")
        exit()
    else:
        div /= num
    i += 1
print(div)

Definición de los códigos del ejercicio:

int() --> convierte el valor especificado en un número entero.
input() --> permite obtener texto escrito por teclado.
while --> el bucle while evalúa una condición y luego ejecuta un bloque de código si la condición es verdadera.
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.
range --> es un tipo que se utiliza para representar una secuencia inmutable de números. Uno de sus principales usos es junto a la sentencia for, para definir un bucle sobre el que se itera un número determinado de veces.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
elif --> use else if para especificar una nueva condición para probar, si la primera condición es falsa.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
exit() --> nos permite terminar la ejecución del programa.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
/= --> el operador ( /= ) divide a la variable del lado izquierdo el valor del lado derecho.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
print() --> imprime un mensaje en la pantalla.

Explicación del Código:

n = int(input("¿Cuántos números quiere dividir?: "))
div = 0
i = 0

while i < n:
    num = int(input("Ingresar número: "))

    if i == 0:
        div = num

    elif num == 0:
        print("No se puede dividir entre cero.")
        exit()

    else:
        div /= num

    i += 1

print(div)

Explicación de cada código

n = int(input(...)) → Pregunta cuántos números se van a dividir y convierte la respuesta a un número entero.
div = 0 → Crea la variable div, que almacenará el resultado de la división.
i = 0 → Inicializa el contador en 0.
while i < n: → Repite las instrucciones mientras el contador sea menor que la cantidad de números indicada.
num = int(input(...)) → Solicita al usuario que ingrese un número y lo convierte a entero.
if i == 0: → Comprueba si estamos ingresando el primer número.
div = num → Guarda el primer número como valor inicial de la división.
elif num == 0: → Comprueba si el número ingresado es cero.
print("No se puede dividir entre cero.") → Muestra un mensaje indicando que no se puede dividir entre cero.
exit() → Finaliza el programa inmediatamente.
else: → Se ejecuta cuando no es el primer número y el número tampoco es cero.
div /= num → Divide el resultado actual entre el nuevo número.
i += 1 → Aumenta el contador en 1 para pasar al siguiente número.
print(div) → Muestra el resultado final de todas las divisiones.

Ejemplo

Si el usuario indica que quiere dividir 3 números e ingresa:

100, 2 y 5

El programa realiza:

100 ÷ 2 ÷ 5 = 10

Por lo tanto, el resultado final será: 10

Código del ejercicio: Otra forma de hacer

n = int(input("¿Cuántos números quiere dividir?: "))
div = 0
for i in range(n):
    num = int(input("Ingresar número: "))
    if i == 0:
        div = num
    elif num == 0:
        print("No se puede dividir entre cero.")
        exit()
    else:
        div /= num
print(div)

Definición de los códigos del ejercicio:

int() --> convierte el valor especificado en un número entero.
input() --> permite obtener texto escrito por teclado.
while --> el bucle while evalúa una condición y luego ejecuta un bloque de código si la condición es verdadera.
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.
range --> es un tipo que se utiliza para representar una secuencia inmutable de números. Uno de sus principales usos es junto a la sentencia for, para definir un bucle sobre el que se itera un número determinado de veces.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
elif --> use else if para especificar una nueva condición para probar, si la primera condición es falsa.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
exit() --> nos permite terminar la ejecución del programa.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
/= --> el operador ( /= ) divide a la variable del lado izquierdo el valor del lado derecho.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
print() --> imprime un mensaje en la pantalla.

Explicación del Código:

n = int(input("¿Cuántos números quiere dividir?: "))

Función: Pregunta cuántos números se van a dividir y convierte la respuesta en un número entero.

div = 0

Función: Crea la variable div, que almacenará el resultado de las divisiones.

for i in range(n):

Función: Repite el proceso tantas veces como indique el usuario.

num = int(input("Ingresar número: "))

Función: Solicita al usuario un número y lo convierte a entero.

if i == 0:

Función: Comprueba si se trata del primer número ingresado.

div = num

Función: Guarda el primer número como resultado inicial.

elif num == 0:

Función: Comprueba si el número ingresado es cero para evitar una división inválida.

print("No se puede dividir entre cero.")

Función: Muestra un mensaje indicando que no se puede dividir entre cero.

exit()

Función: Termina el programa inmediatamente.

else:

Función: Se ejecuta cuando no es el primer número y el número tampoco es cero.

div /= num

Función: Divide el resultado anterior entre el nuevo número. Es equivalente a div = div / num.

print(div)

Función: Muestra el resultado final de las divisiones.

Ejemplo

Si ingresamos:

3
100
2
5

El programa realiza:

100 / 2 / 5 = 10

Por lo tanto, el resultado mostrado será: 10.0

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