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 小时前
ECONNREFUSED ::1:8000 前端代理问题
开发语言
cike_y3 小时前
Mybatis之解析配置优化
java·开发语言·tomcat·mybatis·安全开发
Jay_Franklin4 小时前
SRIM通过python计算dap
开发语言·python
是一个Bug4 小时前
Java基础50道经典面试题(四)
java·windows·python
Slow菜鸟4 小时前
Java基础架构设计(三)| 通用响应与异常处理(分布式应用通用方案)
java·开发语言
吴佳浩4 小时前
Python入门指南(七) - YOLO检测API进阶实战
人工智能·后端·python
消失的旧时光-19434 小时前
401 自动刷新 Token 的完整架构设计(Dio 实战版)
开发语言·前端·javascript
wadesir4 小时前
Rust中的条件变量详解(使用Condvar的wait方法实现线程同步)
开发语言·算法·rust
tap.AI4 小时前
RAG系列(二)数据准备与向量索引
开发语言·人工智能
阿蒙Amon5 小时前
C#每日面试题-重写和重载的区别
开发语言·c#