Este código solicita al usuario ingresar un número límite y luego encuentra todos los números perfectos hasta ese límite. Puedes simplificar este código al reducir el bucle a una comprensión de lista:
def es_numero_perfecto(numero):
return sum(i for i in range(1, numero) if numero % i == 0) == numero
limite = int(input("Ingrese un número límite: "))
numeros_perfectos = [num for num in range(1, limite + 1) if es_numero_perfecto(num)]
print("Números perfectos hasta", limite, ":", numeros_perfectos)
Pueder ir al artículo principal:
Códigos Sencillos hechos en Python