Python 3.x Python中的大量数字列表
在python中工作时,我需要以升序返回前n个大量数字的列表。富足数是一个小于其完美因子之和的整数。例如,12是一个丰富的数字,因为它的完全因子(1、2、3、4和6)加起来等于16。 函数富足(n)应该返回一个列表,该列表按升序精确地包含前n个富足数。例如,expundant(7)将返回一个包含前七个expundant数字的列表 我尝试使用: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(
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)
您尝试过什么?什么不起作用?堆栈溢出不是代码编写服务。