【发布时间】:2021-07-12 16:29:03
【问题描述】:
我正在尝试查找给定数字的所有除数并将它们附加到列表中。但是,当我尝试附加它们时,程序还会附加它迭代的数字,并将适当的除数附加在列表的末尾。如何避免附加不正确的除数?我的代码和输出如下:
n=12
lis=[]
for i in range(2, (n+1) ):
for j in range(1,i):
if i % j == 0:
lis.append(j)
我的输出是:[1, 1, 1, 2, 1, 1, 2, 3, 1, 1, 2, 4, 1, 3, 1, 2, 5, 1, 1, 2, 3, 4、6]
我怎样才能得到以下输出:[1, 2, 3, 4, 6]
【问题讨论】:
-
你只是想找到一个除数对吗?您现在拥有的代码不是找到 n 的除数,而是找到与每个 [1,i) 比较的所有数字 [2,n+1) 的除数。所以你要多次进行相同的比较。