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.

Media pirámide de números en Python

Ejemplo: si ingresamos el número 4, nos dibujara media pirámide de números de 4 filas y columnas.

1
12
123
1234

Código del ejercicio:

n = int(input("Ingrese un número: "))
c_str=''.join([str(i) for i in range(1, n + 1)])
for e in c_str:
    print(c_str[:int(e)])

Definición de los códigos del ejercicio:

def --> una función es un grupo de declaraciones relacionadas que realizan una tarea específica.
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.
str() --> convierte el valor especificado en una cadena.
print() --> imprime un mensaje en la pantalla.

Explicación del Código:

Este programa solicita un número al usuario y construye una media pirámide utilizando los números consecutivos desde el 1 hasta el número ingresado. Para ello crea una cadena con todos los números y luego imprime una parte de esa cadena en cada línea.

Código

n = int(input("Ingrese un número: "))
c_str=''.join([str(i) for i in range(1, n + 1)])
for e in c_str:
    print(c_str[:int(e)])

Explicación del código

  • n = int(input("Ingrese un número: "))

    Solicita al usuario que escriba un número.
    La función input() recibe el dato como texto y int() lo convierte en un número entero para poder utilizarlo en el programa.
  • c_str=''.join([str(i) for i in range(1, n + 1)])

    Esta línea crea una cadena con todos los números desde 1 hasta el número ingresado.

    Su funcionamiento es el siguiente:
    • range(1, n + 1) genera los números desde 1 hasta n.
    • str(i) convierte cada número en texto.
    • La comprensión de listas [str(i) for i in range(...)] crea una lista de cadenas.
    • ''.join(...) une todos los elementos sin dejar espacios.
    Ejemplo:
    Si el usuario ingresa 5, el resultado será:
    12345
    
  • for e in c_str:

    Recorre cada carácter de la cadena creada anteriormente. Si la cadena es:
    12345
    
    Entonces el ciclo recorrerá:
    1
    2
    3
    4
    5
    
    Cada número será almacenado temporalmente en la variable e.
  • print(c_str[:int(e)])

    Imprime únicamente una parte de la cadena.
    • int(e) convierte el carácter en un número.
    • c_str[:int(e)] obtiene los primeros caracteres de la cadena.
    Por ejemplo:
    Valor de e Resultado
    1 1
    2 12
    3 123
    4 1234
    5 12345

Ejemplo de ejecución

Si el usuario escribe:

5

La salida será:

1
12
123
1234
12345
Resumen:
  1. Se solicita un número al usuario.
  2. Se crea una cadena con todos los números desde 1 hasta ese valor.
  3. Se recorre cada carácter de la cadena.
  4. En cada recorrido se imprime una parte de la cadena cada vez más grande.
  5. El resultado final es una media pirámide de números.

Código del ejercicio: Otra forma de hacer

def trian_num(n):
    num = ''
    for i in range(1, n + 1):
        num += str(i)
        print(num)
trian_num(4)

Definición de los códigos del ejercicio:

def --> una función es un grupo de declaraciones relacionadas que realizan una tarea específica.
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.
str() --> convierte el valor especificado en una cadena.
print() --> imprime un mensaje en la pantalla.

Explicación del Código:

Código

def trian_num(n):
    num = ''
    for i in range(1, n + 1):
        num += str(i)
        print(num)

trian_num(4)

Explicación del código

  • def trian_num(n):
    Se crea una función llamada trian_num que recibe un número n. Este número indica cuántas filas tendrá la media pirámide.
  • num = ''
    Se crea una cadena de texto vacía llamada num. Aquí se irán agregando los números uno por uno.
  • for i in range(1, n + 1):
    Este ciclo repite el proceso desde el número 1 hasta n. En cada repetición se agrega un nuevo número a la pirámide.
  • num += str(i)
    Convierte el número i en texto y lo añade al final de la variable num. De esta forma la cadena va creciendo en cada vuelta del ciclo.
  • print(num)
    Muestra el contenido actual de num. Como la cadena aumenta en cada iteración, se forma la media pirámide de números.
  • trian_num(4)
    Se llama a la función indicando que la pirámide tendrá 4 filas.

Resultado del programa

1
12
123
1234
¿Cómo funciona el programa?

El programa comienza con una cadena vacía. Luego, mediante un ciclo for, va agregando un número nuevo en cada repetición y muestra el resultado inmediatamente. Gracias a esto, cada línea contiene todos los números anteriores más el nuevo número agregado, formando una media pirámide de números.

Calcular la suma y producto de cinco números en Python

Código del ejercicio:

numero1 = int(input("Ingrese el primer número "))
numero2 = int(input("Ingrese el segundo número "))
numero3 = int(input("Ingrese el tercer número "))
numero4 = int(input("Ingrese el cuarto número "))
numero5 = int(input("Ingrese el quinto número "))
suma = numero1 + numero2 + numero3 + numero4 + numero5
producto = numero1 * numero2 * numero3 * numero4 * numero5
print("La suma es:", suma)
print("El producto es:", producto)

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.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.

Explicación del Código:

Este programa solicita al usuario cinco números enteros. Después calcula la suma de todos los números y también su producto (multiplicación). Finalmente muestra ambos resultados en pantalla.

Código

numero1 = int(input("Ingrese el primer número ")) numero2 = int(input("Ingrese el segundo número ")) numero3 = int(input("Ingrese el tercer número ")) numero4 = int(input("Ingrese el cuarto número ")) numero5 = int(input("Ingrese el quinto número ")) suma = numero1 + numero2 + numero3 + numero4 + numero5 producto = numero1 * numero2 * numero3 * numero4 * numero5 print("La suma es:", suma) print("El producto es:", producto)

Explicación del código

Código Explicación sencilla
numero1 = int(input("Ingrese el primer número ")) Solicita al usuario el primer número y lo convierte en un número entero para poder realizar operaciones matemáticas.
numero2 = int(input("Ingrese el segundo número ")) Pide el segundo número y lo guarda en la variable numero2.
numero3 = int(input("Ingrese el tercer número ")) Solicita el tercer número y lo almacena en la variable numero3.
numero4 = int(input("Ingrese el cuarto número ")) Pide el cuarto número y lo guarda en numero4.
numero5 = int(input("Ingrese el quinto número ")) Solicita el quinto número y lo almacena en numero5.
suma = numero1 + numero2 + numero3 + numero4 + numero5 Suma los cinco números ingresados por el usuario y guarda el resultado en la variable suma.
producto = numero1 * numero2 * numero3 * numero4 * numero5 Multiplica los cinco números entre sí y almacena el resultado en la variable producto.
print("La suma es:", suma) Muestra en pantalla el resultado de la suma.
print("El producto es:", producto) Muestra en pantalla el resultado de la multiplicación de los cinco números.
Resumen: El programa primero solicita cinco números al usuario. Luego realiza dos operaciones matemáticas: la suma de todos los números y el producto de todos ellos. Finalmente muestra ambos resultados en la consola.

sábado, 18 de julio de 2026

Crear una función para multiplicar todos los elementos de una lista por dos en Python

Código del ejercicio:

def multiplicar_valores(lista):
  for posicion, elemento in enumerate(lista):
    lista[posicion] *= 2
lista = [1,2,3,4,5]
print("Lista:", lista)
multiplicar_valores(lista)
print("Lista multiplicado por dos:", lista)

Definición de los códigos del ejercicio:

def --> una función es un grupo de declaraciones relacionadas que realizan una tarea específica.
lista = [1,2,3,4] --> son variables que almacenan arrays, internamente cada posición puede ser un tipo de datos distinto.
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.
*= --> el operador ( *= ) multiplica a la variable del lado izquierdo el valor del lado derecho.
enumerate() --> agrega un contador a un iterable y lo devuelve en forma de objeto de enumeración.
print() --> imprime un mensaje en la pantalla.
, --> concatena variables de cadena.

Explicación del Código:

Código

def multiplicar_valores(lista): for posicion, elemento in enumerate(lista): lista[posicion] *= 2 lista = [1,2,3,4,5] print("Lista:", lista) multiplicar_valores(lista) print("Lista multiplicado por dos:", lista)

Explicación paso a paso

  • def multiplicar_valores(lista):
    Se crea una función llamada multiplicar_valores que recibe una lista como parámetro. Su objetivo es multiplicar cada elemento de la lista por 2.
  • for posicion, elemento in enumerate(lista):
    Se recorre la lista utilizando enumerate(), que devuelve dos valores en cada recorrido:
    • posicion: la ubicación del elemento dentro de la lista.
    • elemento: el valor almacenado en esa posición.
  • lista[posicion] *= 2
    Se multiplica el valor que está en la posición actual por 2 y se guarda nuevamente en la misma posición. Así, la lista original se modifica directamente.
  • lista = [1,2,3,4,5]
    Se crea una lista con cinco números enteros.
  • print("Lista:", lista)
    Muestra la lista original antes de realizar cualquier cambio.
  • multiplicar_valores(lista)
    Se llama a la función y se le envía la lista para que multiplique todos sus elementos por 2.
  • print("Lista multiplicado por dos:", lista)
    Se imprime la lista después de que todos sus elementos fueron multiplicados por 2.

Resultado del ejemplo

Lista: [1, 2, 3, 4, 5] Lista multiplicado por dos: [2, 4, 6, 8, 10]

Cada número de la lista fue multiplicado por 2, por lo que los valores originales cambiaron de la siguiente manera:

  • 1 → 2
  • 2 → 4
  • 3 → 6
  • 4 → 8
  • 5 → 10

Resumen

Este programa define una función que recibe una lista y recorre todos sus elementos utilizando enumerate(). Gracias a la posición de cada elemento, reemplaza cada valor por su doble. Finalmente, muestra la lista antes y después de la modificación para comprobar que todos los elementos fueron multiplicados por dos.

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)...

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