jueves, 23 de julio de 2026

Ingresar tres números A, B y C, mostrar los múltiplos de A menores que B que no sean divisores de C en Python

Código del ejercicio:

a = int(input("Ingresar A: "))
b = int(input("Ingresar B: "))
c = int(input("Ingresar C: "))
for i in range(1, a + 1):
  resultado = a % i
  if resultado == 0 and i < b and c % i != 0:
    print("Numero que cumple las condiciones:", i)

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.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
% --> el operador de modulo ( % ) devuelve el resto de la división.
!= --> el operador de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
< --> 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.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.

Explicación del Código:

Este programa solicita tres números (A, B y C). Luego busca todos los divisores de A. Finalmente muestra únicamente aquellos divisores que sean menores que B y que no dividan exactamente a C.

Código

a = int(input("Ingresar A: "))
b = int(input("Ingresar B: "))
c = int(input("Ingresar C: "))

for i in range(1, a + 1):
    resultado = a % i
    if resultado == 0 and i < b and c % i != 0:
        print("Numero que cumple las condiciones:", i)

Explicación línea por línea

Código Explicación sencilla
a = int(input("Ingresar A: ")) Pide al usuario el número A y lo guarda como un número entero.
b = int(input("Ingresar B: ")) Pide el número B y lo almacena.
c = int(input("Ingresar C: ")) Pide el número C y lo guarda.
for i in range(1, a + 1): Recorre todos los números desde 1 hasta A para comprobar cuáles son divisores de A.
resultado = a % i Calcula el residuo de dividir A entre i. Si el residuo es 0, significa que i es divisor de A.
if resultado == 0 and i < b and c % i != 0: Comprueba tres condiciones al mismo tiempo:
  • resultado == 0: i debe ser divisor de A.
  • i < b: i debe ser menor que B.
  • c % i != 0: i no debe dividir exactamente a C.
Solo si las tres condiciones se cumplen, el número será mostrado.
print(...) Muestra el número que cumple todas las condiciones.

Funcionamiento paso a paso

Supongamos los siguientes datos:

  • A = 12
  • B = 8
  • C = 18

Los divisores de 12 son:

1, 2, 3, 4, 6 y 12

Ahora se aplican las condiciones:

Número ¿Menor que 8? ¿Divide a 18? ¿Se muestra?
1 No
2 No
3 No
4 No
6 No
12 No No importa No
Resultado del ejemplo:
Numero que cumple las condiciones: 4
Resumen:
  • Solicita tres números: A, B y C.
  • Busca todos los divisores de A.
  • Solo toma los divisores menores que B.
  • Descarta los que también sean divisores de C.
  • Finalmente muestra los números que cumplen todas las condiciones.

Calcular la raíz cuadrática en Python

Código del ejercicio:

import math
print("La raíz no se puede calcular")
a = float(input("Escribe un número "))
b = float(input("Escribe un número "))
c = float(input("Escribe un número "))
x = (b*b) -4*a*c
if x < 0:
  print("La ecuación no existe")
else:
  x1 = (-b+math.sqrt(x)) / (2*a)
  x2 = (-b-math.sqrt(x)) / (2*a)
  print("x1 = ", x1)
  print("x2 = ", x2)

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.
math --> este módulo proporciona acceso a las funciones matemáticas.
float() --> convierte un número entero en un número de punto flotante.
input() --> permite obtener texto escrito por teclado.
** --> exponenciació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 de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
>= --> el operador mayor que o igual ( >= ) devuelve true si el operando izquierdo es mayor o igual que el operando derecho, y en false caso contrario.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
format() --> formatea los valores especificados y los inserta dentro del marcador de posición de la cadena.
sqrt() --> devuelve la raíz cuadrada de un número.
abs() --> devuelve el valor absoluto del número especificado, es decir, eliminará el signo negativo del número.
print() --> imprime un mensaje en la pantalla.
+ --> el operador ( + ) concatena variables de cadena.
, --> concatena variables de cadena.

Explicación del Código:

import math
print("La raíz no se puede calcular")
a = float(input("Escribe un número "))
b = float(input("Escribe un número "))
c = float(input("Escribe un número "))
x = (b*b) -4*a*c
if x < 0:
    print("La ecuación no existe")
else:
    x1 = (-b+math.sqrt(x)) / (2*a)
    x2 = (-b-math.sqrt(x)) / (2*a)
    print("x1 = ", x1)
    print("x2 = ", x2)

1. Importar la librería

import math importa la librería math, que contiene funciones matemáticas. En este programa se utiliza para calcular la raíz cuadrada mediante math.sqrt().

2. Mostrar un mensaje

print("La raíz no se puede calcular") muestra un mensaje en pantalla. En este caso aparece antes de hacer los cálculos, aunque normalmente este mensaje debería mostrarse solo cuando la raíz no pueda calcularse.

3. Pedir el valor de a

a = float(input(...)) solicita el primer número de la ecuación y lo convierte a un número decimal.

4. Pedir el valor de b

b = float(input(...)) solicita el segundo número y también lo convierte en un valor decimal.

5. Pedir el valor de c

c = float(input(...)) solicita el tercer número necesario para resolver la ecuación cuadrática.

6. Calcular el discriminante

x = (b*b) - 4*a*c calcula el discriminante de la fórmula general. Este valor determina si la ecuación tiene soluciones reales.

7. Verificar si existe solución

if x < 0: comprueba si el discriminante es negativo. Si lo es, no existen raíces reales y el programa informa que la ecuación no tiene solución real.

8. Calcular la primera raíz

x1 = (-b + math.sqrt(x)) / (2*a) aplica la fórmula general utilizando el signo positivo para obtener la primera solución.

9. Calcular la segunda raíz

x2 = (-b - math.sqrt(x)) / (2*a) aplica la fórmula general utilizando el signo negativo para obtener la segunda solución.

10. Mostrar los resultados

Las instrucciones print("x1 =", x1) y print("x2 =", x2) muestran en pantalla las dos raíces calculadas de la ecuación cuadrática.

Resumen del programa

Este programa permite resolver una ecuación cuadrática de la forma ax² + bx + c = 0. Primero solicita los valores de a, b y c. Después calcula el discriminante (b² - 4ac) para comprobar si la ecuación tiene soluciones reales.

Si el discriminante es menor que cero, el programa indica que la ecuación no tiene solución real. Si el discriminante es mayor o igual a cero, utiliza la función math.sqrt() para calcular la raíz cuadrada y aplica la fórmula general para obtener las dos soluciones de la ecuación.

Código del ejercicio: Otra forma de hacer

import math
a = float(input("Ingrese el primer número "))
b = float(input("Ingrese el segundo número "))
c = float(input("Ingrese el tercer número "))
discriminante = b**2-4*a*c
if discriminante >= 0:
  if discriminante == 0:
    x = -b/(2*a)
    print("La raíz única es {:.3f}".format(x))
  else:
    x1 = (-b+math.sqrt(discriminante))/(2*a)
    x2 = (-b-math.sqrt(discriminante))/(2*a)
    print("La raíz x1 es {:.3f}".format(x1))
    print("La raíz x2 es {:.3f}".format(x2))
else:
  discriminante = abs(discriminante)
  par_re = -b/(2*a)
  par_im = math.sqrt(discriminante)/(2*a)
  print("La raíz comp. x1 es {:.3f} + {:.3f}i".format(par_re, par_im))
  print("La raíz comp. x2 es {:.3f} + {:.3f}i".format(par_re, par_im))

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.
math --> este módulo proporciona acceso a las funciones matemáticas.
float() --> convierte un número entero en un número de punto flotante.
input() --> permite obtener texto escrito por teclado.
** --> exponenciació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 de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
>= --> el operador mayor que o igual ( >= ) devuelve true si el operando izquierdo es mayor o igual que el operando derecho, y en false caso contrario.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
format() --> formatea los valores especificados y los inserta dentro del marcador de posición de la cadena.
sqrt() --> devuelve la raíz cuadrada de un número.
abs() --> devuelve el valor absoluto del número especificado, es decir, eliminará el signo negativo del número.
print() --> imprime un mensaje en la pantalla.
+ --> el operador ( + ) concatena variables de cadena.
, --> concatena variables de cadena.

Explicación del Código:

Este programa permite calcular las raíces de una ecuación cuadrática de la forma:

ax² + bx + c = 0

El usuario introduce los valores de a, b y c. Luego el programa calcula el discriminante para determinar si existen dos raíces reales, una sola raíz o dos raíces complejas.

Código en Python

import math a = float(input("Ingrese el primer número ")) b = float(input("Ingrese el segundo número ")) c = float(input("Ingrese el tercer número ")) discriminante = b**2 - 4*a*c if discriminante >= 0: if discriminante == 0: x = -b/(2*a) print("La raíz única es {:.3f}".format(x)) else: x1 = (-b + math.sqrt(discriminante))/(2*a) x2 = (-b - math.sqrt(discriminante))/(2*a) print("La raíz x1 es {:.3f}".format(x1)) print("La raíz x2 es {:.3f}".format(x2)) else: discriminante = abs(discriminante) par_re = -b/(2*a) par_im = math.sqrt(discriminante)/(2*a) print("La raíz comp. x1 es {:.3f} + {:.3f}i".format(par_re, par_im)) print("La raíz comp. x2 es {:.3f} + {:.3f}i".format(par_re, par_im))

Explicación del código

Código Explicación sencilla
import math Importa la librería matemática para utilizar funciones como sqrt(), que calcula la raíz cuadrada.
a = float(input(...)) Solicita al usuario el primer coeficiente (a) y lo convierte en un número decimal.
b = float(input(...)) Solicita el segundo coeficiente (b).
c = float(input(...)) Solicita el tercer coeficiente (c).
discriminante = b**2 - 4*a*c Calcula el discriminante utilizando la fórmula de Bhaskara. Este valor indica el tipo de raíces que tiene la ecuación.
if discriminante >= 0: Comprueba si el discriminante es positivo o igual a cero. En ese caso existen raíces reales.
if discriminante == 0: Si el discriminante vale exactamente cero, la ecuación tiene una única raíz.
x = -b/(2*a) Calcula la única raíz utilizando la fórmula cuadrática.
print(...) Muestra la raíz con tres cifras decimales.
else: Si el discriminante es mayor que cero, existen dos raíces diferentes.
x1 = (-b + math.sqrt(discriminante))/(2*a) Calcula la primera raíz de la ecuación.
x2 = (-b - math.sqrt(discriminante))/(2*a) Calcula la segunda raíz de la ecuación.
print(...) Imprime ambas raíces reales.
else: Si el discriminante es negativo, la ecuación tiene raíces complejas.
discriminante = abs(discriminante) Convierte el discriminante a positivo para poder calcular su raíz cuadrada.
par_re = -b/(2*a) Calcula la parte real de las raíces complejas.
par_im = math.sqrt(discriminante)/(2*a) Calcula la parte imaginaria de las raíces.
print(...) Muestra las dos raíces complejas con su parte real e imaginaria.
Resumen:
  • Se ingresan los coeficientes a, b y c.
  • Se calcula el discriminante (b² − 4ac).
  • Si el discriminante es mayor que cero, existen dos raíces reales.
  • Si es igual a cero, existe una única raíz.
  • Si es menor que cero, existen dos raíces complejas.
  • Finalmente, el programa muestra el resultado correspondiente.

Invertir un número en Python

Código del ejercicio: Con ciclo while

num = input("Ingresar número: ")
revertir = 0
valor = int(num)
while valor > 0:
    residuo = valor % 10
    revertir = (revertir * 10) + residuo
    valor = valor // 10
print("El número invertido es: " + str(revertir))

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.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
% --> el operador de modulo ( % ) devuelve el resto de la división.
// --> también conocido como operador de división de piso, es un operador de división que proporciona un número entero como salida y descarta el resto.
str() --> convierte el valor especificado en una cadena.
print() --> imprime un mensaje en la pantalla.
+ --> el operador ( + ) concatena variables de cadena.
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.
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'.
len() --> devuelve el número de elementos de un objeto.
join() --> toma todos los elementos en un iterable y los une en una sola cadena.
[::-1] --> invierte una lista o cadena.
list() --> crea un objeto de lista. Un objeto de lista es una colección ordenada y modificable.
reverse() --> invierte los elementos de la lista.

Explicación del Código:

Código

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

while valor > 0:
    residuo = valor % 10
    revertir = (revertir * 10) + residuo
    valor = valor // 10

print("El número invertido es: " + str(revertir))

Explicación del código

Código Explicación sencilla
num = input("Ingresar número: ") Solicita al usuario que ingrese un número desde el teclado.
revertir = 0 Crea una variable donde se irá formando el número invertido. Empieza en 0.
valor = int(num) Convierte el dato ingresado de texto a número entero para poder realizar operaciones matemáticas.
while valor > 0: Repite el proceso mientras el número sea mayor que cero.
residuo = valor % 10 Obtiene el último dígito del número usando el operador módulo (%).
revertir = (revertir * 10) + residuo Agrega el último dígito al nuevo número invertido. Multiplica por 10 para dejar espacio al siguiente dígito.
valor = valor // 10 Elimina el último dígito del número utilizando la división entera.
print("El número invertido es: " + str(revertir)) Muestra en pantalla el número completamente invertido.
¿Cómo funciona el algoritmo?

Si el usuario ingresa el número 12345, el programa realiza este proceso:
  • Extrae el 5 → Número invertido: 5
  • Extrae el 4 → Número invertido: 54
  • Extrae el 3 → Número invertido: 543
  • Extrae el 2 → Número invertido: 5432
  • Extrae el 1 → Número invertido: 54321
Al finalizar el ciclo, el programa muestra: El número invertido es: 54321

Código del ejercicio: Con ciclo for

num = input("Ingresar número: ")
for i in range(len(num) -1, -1, -1):
    print(num[i], end="")

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.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
% --> el operador de modulo ( % ) devuelve el resto de la división.
// --> también conocido como operador de división de piso, es un operador de división que proporciona un número entero como salida y descarta el resto.
str() --> convierte el valor especificado en una cadena.
print() --> imprime un mensaje en la pantalla.
+ --> el operador ( + ) concatena variables de cadena.
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.
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'.
len() --> devuelve el número de elementos de un objeto.
join() --> toma todos los elementos en un iterable y los une en una sola cadena.
[::-1] --> invierte una lista o cadena.
list() --> crea un objeto de lista. Un objeto de lista es una colección ordenada y modificable.
reverse() --> invierte los elementos de la lista.

Explicación del Código:

Código

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

for i in range(len(num) -1, -1, -1):
    print(num[i], end="")

Explicación del código

Código Función
num = input("Ingresar número: ") Solicita al usuario que escriba un número y lo guarda como texto en la variable num. Se guarda como texto para poder recorrer cada uno de sus dígitos.
for i in range(len(num) -1, -1, -1): Crea un ciclo que recorre el número desde el último dígito hasta el primero. len(num) obtiene la cantidad de caracteres del número y range() genera las posiciones en orden inverso.
print(num[i], end="") Imprime el carácter ubicado en la posición i. El parámetro end="" evita que se haga un salto de línea después de cada impresión, formando así el número invertido.
¿Cómo funciona el programa?

Si el usuario escribe el número 12345, el programa comienza desde el último carácter (5) y continúa hacia el primero, mostrando:
54321
De esta manera, el número queda completamente invertido utilizando un ciclo for que recorre la cadena de atrás hacia adelante.

Código del ejercicio: Otra forma de hacer

num = str(input('Ingresar número: '))
print("".join([i for i in num[::-1]]))

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.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
% --> el operador de modulo ( % ) devuelve el resto de la división.
// --> también conocido como operador de división de piso, es un operador de división que proporciona un número entero como salida y descarta el resto.
str() --> convierte el valor especificado en una cadena.
print() --> imprime un mensaje en la pantalla.
+ --> el operador ( + ) concatena variables de cadena.
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.
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'.
len() --> devuelve el número de elementos de un objeto.
join() --> toma todos los elementos en un iterable y los une en una sola cadena.
[::-1] --> invierte una lista o cadena.
list() --> crea un objeto de lista. Un objeto de lista es una colección ordenada y modificable.
reverse() --> invierte los elementos de la lista.

Explicación del Código:

Este programa solicita un número al usuario, invierte el orden de sus dígitos utilizando las funciones propias de Python y finalmente muestra el resultado en pantalla.

Código

num = str(input('Ingresar número: '))
print("".join([i for i in num[::-1]]))

Explicación del código

Código Explicación
input('Ingresar número: ') Solicita al usuario que escriba un número desde el teclado.
str(...) Convierte el dato ingresado en una cadena de texto para poder manipular cada uno de sus caracteres.
num = str(...) Guarda el número ingresado por el usuario dentro de la variable num.
num[::-1] Invierte completamente el orden de los caracteres de la cadena. Por ejemplo, si el usuario escribe 12345, el resultado será 54321.
[i for i in num[::-1]] Recorre cada carácter del número ya invertido y crea una lista con todos ellos.
"".join(...) Une todos los caracteres de la lista en una sola cadena de texto sin agregar espacios entre ellos.
print(...) Muestra en pantalla el número completamente invertido.

Ejemplo de ejecución

Entrada:

123456

Salida:

654321

El programa recibe el número como una cadena de texto. Luego utiliza num[::-1] para invertir el orden de todos los caracteres. Después, la función join() vuelve a unir esos caracteres formando el número invertido, el cual finalmente se muestra con print().

Código del ejercicio: Otra forma de hacer

num = input("Ingresar número: ")
x = list(str(num))
x.reverse()
print("".join(x))

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.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
% --> el operador de modulo ( % ) devuelve el resto de la división.
// --> también conocido como operador de división de piso, es un operador de división que proporciona un número entero como salida y descarta el resto.
str() --> convierte el valor especificado en una cadena.
print() --> imprime un mensaje en la pantalla.
+ --> el operador ( + ) concatena variables de cadena.
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.
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'.
len() --> devuelve el número de elementos de un objeto.
join() --> toma todos los elementos en un iterable y los une en una sola cadena.
[::-1] --> invierte una lista o cadena.
list() --> crea un objeto de lista. Un objeto de lista es una colección ordenada y modificable.
reverse() --> invierte los elementos de la lista.

Explicación del Código:

num = input("Ingresar número: ")
x = list(str(num))
x.reverse()
print("".join(x))
Código Explicación sencilla
num = input("Ingresar número: ") Solicita al usuario que escriba un número y lo guarda en la variable num. El dato se almacena como texto.
x = list(str(num)) Convierte el número en una lista de caracteres. Por ejemplo, si el usuario escribe 1234, la lista será ['1', '2', '3', '4'].
x.reverse() Invierte el orden de los elementos de la lista. Ahora la lista queda como ['4', '3', '2', '1'].
print("".join(x)) Une todos los caracteres de la lista en una sola cadena de texto, sin espacios entre ellos, y muestra el número invertido en la pantalla.
Resumen:

Este programa pide un número al usuario, convierte cada dígito en un elemento de una lista, utiliza el método reverse() para invertir el orden de los dígitos y finalmente los vuelve a unir con join() para mostrar el número al revés.

lunes, 20 de julio de 2026

Generar los números perfecto: 6,28,496,8128 en Python

Código del ejercicio:

for i in range(2,9000):
    b = 0
    for j in range(1, (i // 2) + 1):
        if((i % j) == 0):
            b = b + j
    if(b == i):
        print("El numero " + str(i) + " es perfecto")

Definición de los códigos del ejercicio:

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.
// --> también conocido como operador de división de piso, es un operador de división que proporciona un número entero como salida y descarta el resto.
% --> el operador de modulo ( % ) devuelve el resto de la división.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
print() --> imprime un mensaje en la pantalla.
str() --> convierte el valor especificado en una cadena.
+ --> el operador ( + ) concatena variables de cadena.

Explicación del Código:

¿Qué hace este programa?

Este programa busca todos los números perfectos entre 2 y 9000. Un número perfecto es aquel cuya suma de todos sus divisores positivos, excepto él mismo, es igual al propio número.

Los números perfectos encontrados son:

  • 6
  • 28
  • 496
  • 8128

Código

for i in range(2,9000):
    b = 0
    for j in range(1, (i // 2) + 1):
        if((i % j) == 0):
            b = b + j
    if(b == i):
        print("El numero " + str(i) + " es perfecto")  

Explicación de cada parte del código

  • for i in range(2,9000):
    Recorre todos los números desde 2 hasta 8999. Cada número será analizado para saber si es perfecto.
  • b = 0
    Inicializa la variable b en cero. Esta variable almacenará la suma de los divisores del número.
  • for j in range(1, (i // 2) + 1):
    Recorre todos los posibles divisores del número i, desde 1 hasta la mitad del número, ya que ningún divisor propio puede ser mayor que su mitad.
  • if((i % j) == 0):
    Comprueba si j divide exactamente al número i. Si el residuo es cero, significa que es un divisor.
  • b = b + j
    Si j es divisor, se suma a la variable b.
  • if(b == i):
    Cuando termina de sumar todos los divisores, compara si la suma es igual al número original.
  • print("El numero " + str(i) + " es perfecto")
    Si la suma de los divisores es igual al número, se muestra el mensaje indicando que es un número perfecto.

¿Cómo funciona el programa?

  1. Toma un número entre 2 y 9000.
  2. Busca todos sus divisores.
  3. Suma esos divisores.
  4. Compara la suma con el número.
  5. Si ambos son iguales, imprime que es un número perfecto.
  6. Repite el proceso con el siguiente número.

Ejemplo con el número 28

Divisores de 28 (sin contar el 28):

1 + 2 + 4 + 7 + 14 = 28

Como la suma de sus divisores es igual al número, el programa indica:

El numero 28 es perfecto
Resumen:

El programa recorre todos los números entre 2 y 9000, encuentra sus divisores, los suma y verifica si esa suma es igual al número. Si se cumple esta condición, el número es perfecto y se imprime en pantalla. Gracias a este proceso, el programa obtiene los números perfectos: 6, 28, 496 y 8128.

Pedir cuatro números y mostrar mensaje si hay número cero en Python

Código del ejercicio:

n1 = int(input("Ingrese el primer número: "))
n2 = int(input("Ingrese el segundo número: "))
n3 = int(input("Ingrese el tercer número: "))
n4 = int(input("Ingrese el cuarto número: "))
if n1 != 0 and n2 != 0 and n3 != 0 and n4 != 0:
    print("No hay número cero.")
else:
    print("Hay número cero.")

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.
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.
and --> devuelve True si ambos operandos son verdaderos.
!= --> el operador de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
print() --> imprime un mensaje en la pantalla.

Explicación del Código:

Código

n1 = int(input("Ingrese el primer número: "))
n2 = int(input("Ingrese el segundo número: "))
n3 = int(input("Ingrese el tercer número: "))
n4 = int(input("Ingrese el cuarto número: "))

if n1 != 0 and n2 != 0 and n3 != 0 and n4 != 0:
    print("No hay número cero.")
else:
    print("Hay número cero.")

Explicación de cada línea

Código Explicación sencilla
n1 = int(input(...)) Pide al usuario el primer número, lo convierte en entero y lo guarda en la variable n1.
n2 = int(input(...)) Solicita el segundo número y lo almacena en n2.
n3 = int(input(...)) Solicita el tercer número y lo guarda en n3.
n4 = int(input(...)) Solicita el cuarto número y lo guarda en n4.
if n1 != 0 and n2 != 0 and n3 != 0 and n4 != 0: Comprueba que los cuatro números sean diferentes de cero. La palabra and significa "y", por lo que todas las condiciones deben cumplirse al mismo tiempo.
print("No hay número cero.") Si ninguno de los cuatro números es cero, muestra el mensaje "No hay número cero.".
else: Se ejecuta cuando la condición del if no se cumple.
print("Hay número cero.") Si al menos uno de los cuatro números es cero, muestra el mensaje "Hay número cero.".

¿Cómo funciona el programa?

  1. Solicita cuatro números al usuario.
  2. Guarda cada número en una variable diferente.
  3. Verifica si los cuatro números son distintos de cero.
  4. Si todos son diferentes de cero, informa que no existe ningún cero.
  5. Si uno o más números son cero, informa que sí hay un número cero.
Ejemplo 1:

Ingrese el primer número: 8
Ingrese el segundo número: 5
Ingrese el tercer número: 3
Ingrese el cuarto número: 7

Salida:
No hay número cero.
Ejemplo 2:

Ingrese el primer número: 8
Ingrese el segundo número: 0
Ingrese el tercer número: 3
Ingrese el cuarto número: 7

Salida:
Hay número cero.
Resumen:
Este programa solicita cuatro números enteros y utiliza una estructura if...else junto con el operador lógico and para comprobar si todos los números son distintos de cero. Si ninguno es cero, muestra el mensaje "No hay número cero."; de lo contrario, indica "Hay número cero.".

Suma de dos números y si introduce un carácter no numérico que la respuesta sea -1 en Python

Código del ejercicio:

try:
    numero1 = float(input("Ingrese el primer número: "))
    numero2 = float(input("Ingrese el segundo número: "))
    suma = numero1 + numero2
    print(f"La suma es: {suma}")
except ValueError:
    print(-1)

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.
try --> permite probar un bloque de código en busca de errores.
except --> permite manejar el error.
ValueError --> se genera cuando hay un valor incorrecto en un tipo de datos especificado.
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.

Explicación del Código:

Código

try:
    numero1 = float(input("Ingrese el primer número: "))
    numero2 = float(input("Ingrese el segundo número: "))
    suma = numero1 + numero2
    print(f"La suma es: {suma}")
except ValueError:
    print(-1)

Explicación del código

Código Explicación
try: Inicia un bloque donde Python intentará ejecutar el código. Si ocurre un error, pasará automáticamente al bloque except.
numero1 = float(input(...)) Solicita al usuario el primer número y lo convierte a un número decimal (float).
numero2 = float(input(...)) Solicita el segundo número y también lo convierte a decimal.
suma = numero1 + numero2 Suma los dos números ingresados y guarda el resultado en la variable suma.
print(f"La suma es: {suma}") Muestra en pantalla el resultado de la suma.
except ValueError: Se ejecuta cuando el usuario escribe un dato que no es un número, por ejemplo una letra o un símbolo.
print(-1) Si ocurre el error, el programa muestra -1 para indicar que la entrada no es válida.
Resumen del ejercicio:

El programa solicita dos números al usuario, los convierte a tipo decimal, realiza la suma y muestra el resultado. Si el usuario introduce un carácter no numérico (como una letra o un símbolo), Python genera un ValueError, el cual es capturado por el bloque except, mostrando -1 en lugar de que el programa termine con un error.

domingo, 19 de julio de 2026

Eliminar un carácter de una cadena en Python

Código del ejercicio:

s = input("Ingrese un texto: ")
e = input("Ingrese un carácter a eliminar: ")
aux = ""
i = 0
sw = 0
while i < len(s):
    if s[i] == e and sw == 0:
        sw = 1
    else:
        aux += s[i]
        sw = 0
    i += 1
print(aux)

Definición de los códigos del ejercicio:

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.
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.
len() --> devuelve el número de elementos de un objeto.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
and --> devuelve True si ambos operandos son verdaderos.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
print() --> imprime un mensaje en la pantalla.

Explicación del Código:

Este programa permite ingresar un texto y un carácter. Luego recorre toda la cadena y elimina la primera aparición consecutiva del carácter indicado, guardando el resultado en una nueva cadena. Finalmente muestra el texto sin ese carácter.

Código

s = input("Ingrese un texto: ")
e = input("Ingrese un carácter a eliminar: ")
aux = ""
i = 0
sw = 0
while i < len(s):
    if s[i] == e and sw == 0:
        sw = 1
    else:
        aux += s[i]
        sw = 0
    i += 1
print(aux)

Explicación del código

Código Explicación
s = input("Ingrese un texto: ") Solicita al usuario que escriba una cadena de texto y la guarda en la variable s.
e = input("Ingrese un carácter a eliminar: ") Pide el carácter que se desea eliminar del texto.
aux = "" Crea una cadena vacía donde se irá formando el nuevo texto sin el carácter eliminado.
i = 0 Inicializa el contador que recorrerá cada posición de la cadena.
sw = 0 Es una bandera que indica si el carácter ya fue eliminado. Al inicio vale 0 porque aún no se ha eliminado ninguno.
while i < len(s): Recorre toda la cadena desde el primer hasta el último carácter.
if s[i] == e and sw == 0: Comprueba si el carácter actual es igual al que se quiere eliminar y además verifica que todavía no se haya eliminado uno anteriormente.
sw = 1 Marca que el carácter ya fue eliminado, por lo que no se agrega a la nueva cadena.
else: Se ejecuta cuando el carácter no debe eliminarse.
aux += s[i] Agrega el carácter actual a la nueva cadena.
sw = 0 Reinicia la bandera para permitir eliminar nuevamente si aparece otra secuencia del carácter.
i += 1 Avanza a la siguiente posición de la cadena.
print(aux) Muestra el texto final después de eliminar el carácter.

Funcionamiento paso a paso

  • El usuario escribe un texto.
  • Después ingresa el carácter que desea eliminar.
  • El programa recorre el texto letra por letra.
  • Cuando encuentra el carácter indicado por primera vez, no lo copia a la nueva cadena.
  • Los demás caracteres sí se copian normalmente.
  • Al finalizar, muestra el texto resultante.

Ejemplo de ejecución

Ingrese un texto: programación
Ingrese un carácter a eliminar: a

Resultado:
progrmción

Resumen

Este programa utiliza un ciclo while para recorrer una cadena carácter por carácter. La variable aux almacena el nuevo texto y la variable sw funciona como una bandera para controlar cuándo debe omitirse el carácter que se desea eliminar. Finalmente, se imprime la cadena resultante.

Ingresar tres números A, B y C, mostrar los múltiplos de A menores que B que no sean divisores de C en Python

Código del ejercicio: a = int ( input ( "Ingresar A: " )) b = int ( input ( "Ingresar B: " )) c = int ( inp...

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