到目前为止,我有一段代码:
def OfN(n):
print("Factors of ",n,"= ", end="")
factor = []
for j in range(2, n + 1):
if n % j == 0:
print(j, end=" ")
factor.append(j)
sumN = sum(factor)
print("\nSum of all factors = " + str(sumN))
if sumN < n:
return True
else:
return False
我的问题是,我不知道如何将数字本身排除在总数/打印之外。我从2开始就把1排除在外。我怎么排除这个数字出现呢?
例如,如果我们使用5,就会发生这样的情况:
>> OfN(5)
>>
>> Factors of 5 =
>> Sum of all factors = 0
>> True
提前谢谢。
发布于 2022-10-04 22:11:41
只需删除range
中的+1即可。这将从2迭代到n- 1,这将从因子中排除n
。
def OfN(n):
print("Factors of ",n,"= ", end="")
factor = []
for j in range(2, n):
if n % j == 0:
print(j, end=" ")
factor.append(j)
sumN = sum(factor)
print("\nSum of all factors = " + str(sumN))
if sumN < n:
return True
else:
return False
OfN(5)
https://stackoverflow.com/questions/73954066
复制相似问题