En esta guía vas a aprender a crear un programa en Python que determine si un número es perfecto, utilizando una función auxiliar para calcular sus divisores propios.
- Un número perfecto es un número entero positivo que es igual a la suma de sus divisores propios (excluyendo el mismo número).
- Ejemplo:
6 → divisores propios: 1, 2, 3
- Suma: 1 + 2 + 3 = 6
1. Función para obtener los divisores propios:
def divisores_propios(num):
divisores=[] #lista
for i in range(1, num): #desde 1 hasta num-1
if num % i == 0:
divisores.append(i)
return divisores
Explicación:
- Crea una lista vacía divisores=[ ] para guardar los divisores propios del numero.
- Recorre todos los números i desde 1 hasta el número anterior a num.
- Si num es divisible por i (num % i ==0]) significa que i es divisor propio y lo agrega a la lista.
- Al final, devuelve los divisores propios.
2. Función para verificar si el número es perfecto:
def num_perfecto(num):
suma=0
for i in divisores_propios(num):
suma = suma + i
if num == suma:
return True
else:
return False
Explicación:
- Inicializa suma=0
- Usa la función divisores_propios(num) para obtener los divisores del número
- Suma todos los divisores en suma = suma + i
- Compara si el numero es igual a la suma de los divisores num == suma
- Si son iguales → retorna
True (el número es perfecto)