python divisorGenerator - 用更大的数字改变行为

时间:2015-05-22 10:10:10

标签: python

我试图创建一个生成器,它返回n的正确除数(不包括n本身)。它工作正常,直到256,但从257开始包括n ...我无法弄清楚为什么。谢谢你的帮助!

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

0 个答案:

没有答案