I tried to create a generator, that returns the proper divisors of n (not including n itself). It works fine until 256, but starts including n starting from 257 ... I could not figure out why. Thanks for your help!
def divisorGenerator(n):
large_divisors = []
y = int(math.sqrt(n))
for i in xrange(1, y + 1):
if n % i is 0:
yield i
if i is not n / i and n is not n / i:
large_divisors.insert(0, n / i)
for divisor in large_divisors:
yield divisor