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.

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:

  1. Crea una lista vacía divisores=[ ] para guardar los divisores propios del numero.
  2. Recorre todos los números i desde 1 hasta el número anterior a num.
  3. Si num es divisible por i (num % i ==0]) significa que i es divisor propio y lo agrega a la lista.
  4. 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:

  1. Inicializa suma=0
  2. Usa la función divisores_propios(num) para obtener los divisores del número
  3. Suma todos los divisores en suma = suma + i
  4. Compara si el numero es igual a la suma de los divisores num == suma