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)
相关推荐
egoist20231 分钟前
【C++指南】告别C字符串陷阱:如何实现封装string?
开发语言·数据结构·c++·c++11·string·auto·深/浅拷贝
iReachers8 分钟前
使用命令行加密混淆C#程序
开发语言·c#
菜鸡000111 分钟前
sql server 与navicat测试后,连接qt
开发语言·qt
The hopes of the whole village17 分钟前
matlab 绘图
开发语言·matlab·信息可视化
蔗理苦26 分钟前
2025-04-24 Python&深度学习4—— 计算图与动态图机制
开发语言·pytorch·python·深度学习·计算图
Mr Aokey3 小时前
手写Java线程池与定时器:彻底掌握多线程任务调度
java·开发语言
mutianhao10244 小时前
SQLAlchemy 2.x 异步查询方法比较
python·mysql·sqlalchemy
✿ ༺ ོIT技术༻4 小时前
笔试强训:Day2
开发语言·c++·笔记·算法
Jackson@ML4 小时前
如何快速高效学习Python?
开发语言·python
西瓜本瓜@6 小时前
在Android中如何使用Protobuf上传协议
android·java·开发语言·git·学习·android-studio