python求一个数的因子找出10000之内的所有完数

一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如,6的因子为1、2、3,而6=1+2+3,因此6是完数。编程,找出10000之内的所有完数,将其存入一个列表里

python列表解析 双重for循环+条件判断

复制代码
# n=6 求因子
# for i in range(1, n):
#     if n % i == 0:
#         print(i)
python 复制代码
for i in range(2,10001):
    sum = 0
    for j in range(1,i):
        if i%j==0:
            # print(i)
            sum+=j
    if (sum==i):
        list1.append(i)
print(list1)

尝试以列表解析的方式生成结果列表

判断写成一个函数在列表调用

python 复制代码
def wdyinzi(i):
    sum=0
    for j in range(1, i):
        if i % j == 0:
            # print(i)
            sum += j
    if(sum==i):
        return  i
list2=[i for i in range(2,10001) if wdyinzi(i)]
print(list2)
相关推荐
福楠3 分钟前
现代C++ | 智能指针
c语言·开发语言·c++
ruxingli9 分钟前
GoLang channel管道
开发语言·后端·golang
Risehuxyc10 分钟前
PHP 的缓存机制
开发语言·缓存·php
sinat_2554878112 分钟前
JSON·学习笔记
java·开发语言·笔记·算法
Kang.Charles18 分钟前
python读取环境变量
python
Birdy_x18 分钟前
Python进阶(1)- logging
python
Yupureki19 分钟前
《算法竞赛从入门到国奖》算法基础:动态规划-基础线性dp
c语言·开发语言·算法·动态规划
_DCG_19 分钟前
go第一个工程安装过程与问题汇总
开发语言·后端·golang
飞翔的烤鸡翅22 分钟前
Kilo Code在PyCharm上的一些实践
ide·python·pycharm·ai编程·kilo code
lsx20240624 分钟前
Bootstrap 附加导航
开发语言