static bool IsPerfect(int n)
{
int s = 1;
for (int i = 2; i <= Math.Sqrt(n); i++)
if (n % i == 0)
s += i + n / i;
return s == n;
}
Код на C#, посмотри, как в твоей жабе называется Math.Sqrt, других различий не будет. def find_perfect_numbers(n):
perfect_numbers = []
for i in range(1, n):
divisors = []
for j in range(1, i):
if i % j == 0:
divisors.append(j)
if sum(divisors) == i:
perfect_numbers.append(i)
return perfect_numbers