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 分钟前
Java中集成Smile 技术教程:从入门到工程实践
java·开发语言
wang_yb14 分钟前
用方差阈值过滤掉“惰性特征”
python·ai·databook
BerrySen17829 分钟前
迈向 Next-Gen Java:企业级高并发架构演进与大模型 Agent 落地深度实战
java·开发语言·架构
Nebula_g1 小时前
Java实现本地Socket通信(三)
java·开发语言·学习·socket·可视化
一水1 小时前
java运行排错,新码旧jar
java·开发语言·jar
RFID固定资产管理系统2 小时前
公司RFID管理系统揭秘
大数据·python
Python+992 小时前
Java 编程语言入门指南
java·开发语言
IVEN_2 小时前
Python官方包、Conda、uv,应该怎么选
python
Wang's Blog2 小时前
Go-Zero项目开发40: 基于Jaeger的分布式链路跟踪实战
开发语言·分布式·golang
程序喵大人2 小时前
【C++进阶】STL容器与迭代器 - 05 map 和 set 为什么按键保持有序
开发语言·c++·容器·迭代器·stl