Python 3.x Python中的大量数字列表

Python 3.x Python中的大量数字列表,python-3.x,Python 3.x,在python中工作时,我需要以升序返回前n个大量数字的列表。富足数是一个小于其完美因子之和的整数。例如,12是一个丰富的数字,因为它的完全因子(1、2、3、4和6)加起来等于16。 函数富足(n)应该返回一个列表,该列表按升序精确地包含前n个富足数。例如,expundant(7)将返回一个包含前七个expundant数字的列表 我尝试使用: def abundant(n): def factors(value): factors = [x for x in range(

在python中工作时,我需要以升序返回前n个大量数字的列表。富足数是一个小于其完美因子之和的整数。例如,12是一个丰富的数字,因为它的完全因子(1、2、3、4和6)加起来等于16。 函数富足(n)应该返回一个列表,该列表按升序精确地包含前n个富足数。例如,expundant(7)将返回一个包含前七个expundant数字的列表

我尝试使用:

def abundant(n):
    def factors(value):
        factors = [x for x in range(1, value + 1 // 2 + 1) if value % x == 0]
        return factors
        if sum(factors) > value:
            return value
        abundant = factors()
        return abundant[:n]

我不是python方面的专家,但我建议使用for循环,因此:

 # From 1 to 10

 n = 0
 for i in range(10):
         n = n + 1
         abundant(n)

希望这有帮助

无需返回abn列表,因为它被声明为全局

abn=[]  #to store abundant nos.
def factors(n):
    s=1 
    if n==1:
        return 1
    if n%2==0:
        step=1
    else:
        step=2

    r=int(n**.5)

    if(r**2==n):
        r-=1
        s+=r+1
        # s-sum 
    f=2
    #print("n= ",n)
    while(f<=r):
        if n%f==0:
            s+=f+n//f
            #print(f,n//f)
        if(s>n):
            abn.append(n)   #if sum is going to be greater than n iam storing them in abn list
            return n
        f+=step    
    else:
        return 0

n=int(input())
for i in range(12,n+1):  #since 12 is the first abn. no the range starts from 12
    factors(i)

abn.sort()
print("abn. nos list: ",abn)
abn=[]#存储大量的。
def系数(n):
s=1
如果n==1:
返回1
如果n%2==0:
步骤=1
其他:
步骤=2
r=int(n**.5)
如果(r**2==n):
r-=1
s+=r+1
#s-和
f=2
#打印(“n=”,n)
而(fn):
abn.append(n)#如果总和大于n,则将其存储在abn列表中
返回n
f+=阶跃
其他:
返回0
n=int(输入())
对于范围(12,n+1)内的i:#因为12是第一个abn。不,范围从12开始
因素(一)
abn.sort()
打印(“abn.编号列表:”,abn)

您尝试过什么?什么不起作用?堆栈溢出不是代码编写服务。