用python算完全数之和的方法?

这是我们的作业:编写程序,编写一个程序求2~20000内的所有完全数之和。(一个数的所有因子之和为其本身的数称为完全数http://baike.baidu.com/vie... 这是我们的作业:
编写程序,编写一个程序求 2~20000 内的所有完全数之和。(一个数的所有因子之和为其本身的数称为完全数 http://baike.baidu.com/view/19074.htm?fr=aladdin#5_1

我的程序是这样的,但是不知道为什么错了算不出来啊
求高手讲解一下我的错误在哪里,要怎么改正?有没有更好的方法?

我的思路是这样的
展开
 我来答
albumin
2014-10-26 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2410万
展开全部
def main(n,high):
    x=0
    perfectnum=[]
    while n<=high:
        total=0
        for t in range(n//2,0,-1):
            if n%t==0:
                total+=t
                if total>n or (total<n and t==1):
                    break
        else:
            x+=n
            perfectnum.append("%d"%n)
        n+=1
    return (perfectnum,x)
if __name__=='__main__':
    perfectnum,total=main(2,20000)
    print("%s = %d"%(' + '.join(perfectnum),total))
追问
不好意思,你的程序里面有很多东西我都没学,看不太懂
能不能请你批改一下我的程序呢?
追答
你的程序完全不对,没法改
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式