站长资源脚本专栏

python找出完数的方法

整理:jimmy2025/3/16浏览2
简介如下所示:# -*- coding: utf-8 -*-# 要求:用python方法找出1000以内的所有完数,并输出。def f(n):list = []for i in range(2, n + 1):for j in range(2, i / 2):if i % j == 0 and j

如下所示:

# -*- coding: utf-8 -*-
# 要求:用python方法找出1000以内的所有完数,并输出。
def f(n):
 list = []
 for i in range(2, n + 1):
  for j in range(2, i / 2):
   if i % j == 0 and j <= (i / j):
    list.append(j)
    list.append(i / j)
 
  if sum(list) + 1 == i:
   print i
  list = []
 
if __name__=="__main__":
 n=int(raw_input("请输入最大范围:"))
 f(n)

运行结果:

请输入最大范围:1000
6
28
496

总结:

sum可以直接对列表进行求和!