我正在尝试记住数字的除数总和。
divisorSums = {}
def sumDivisors(num):
global divisorSums
total = 0
if num == 1:
return 0
for i in xrange(num/2, 0, -1):
if i in divisorSums:
return divisorSums[i]
else:
if not num % i:
total += i
divisorSums[num] = total
return total
但是,当我遍历数字时,这将为所有数字返回 1。单独使用时是正确的,所以问题是我的查找系统。我很确定我不明白如何在字典中查找值。有人可以帮我吗?