Técnicamente diría yo que cero es un número perfecto. Ya que su único "divisor" es 0, y 0 + 0 = 0

. No, broma, creo que basta con agregar otra condición al if (con el operador and) para preguntar si numero es diferente de 0, así, al ser 0 mostrará el mensaje diciendo que no es perfecto.