martes, 14 de julio de 2026

Determinar si un número es perfecto en Python

Código del ejercicio:

x = int(input("Ingresar número: "))
sumador = 0
for c in range(1, x):
  if x % c == 0:
    sumador += c
if x == sumador:
  print("Es un número perfecto")
else:
  print("No es un número perfecto")

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.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
% --> el operador de modulo ( % ) devuelve el resto de la división.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
== --> 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:

Código

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

for c in range(1, x):
    if x % c == 0:
        sumador += c

if x == sumador:
    print("Es un número perfecto")
else:
    print("No es un número perfecto")

Explicación paso a paso

Código Explicación sencilla
x = int(input("Ingresar número: ")) Solicita al usuario un número entero y lo guarda en la variable x.
sumador = 0 Crea una variable llamada sumador que almacenará la suma de todos los divisores propios del número.
for c in range(1, x): Recorre todos los números desde 1 hasta x - 1 para comprobar cuáles son divisores del número.
if x % c == 0: Comprueba si c divide exactamente a x. Si el residuo es 0, significa que es un divisor.
sumador += c Si c es divisor, se suma al valor de sumador.
if x == sumador: Compara si la suma de todos los divisores propios es igual al número ingresado.
print("Es un número perfecto") Se ejecuta cuando el número es perfecto.
else: Se ejecuta cuando la condición anterior no se cumple.
print("No es un número perfecto") Muestra un mensaje indicando que el número no es perfecto.
¿Qué es un número perfecto?

Un número perfecto es aquel cuya suma de sus divisores positivos, sin incluir el propio número, es igual a él mismo.

Ejemplo:
  • 6 → divisores: 1, 2 y 3
  • 1 + 2 + 3 = 6
  • Como la suma es igual al número, 6 es un número perfecto.
Otro ejemplo es el número 28, ya que:
  • Divisores: 1, 2, 4, 7 y 14
  • 1 + 2 + 4 + 7 + 14 = 28

No hay comentarios.:

Publicar un comentario

Sumar todos los dígitos de un número natural en Python

Código del ejercicio: x = int ( input ( "Ingrese un número natural: " )) sumador = 0 while (x > 0 ):   digito = x %...

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