我正在尝试输出只有3个因素的数字。我写了一个代码来输出所有因子,但是无法输出它有3个因子的数字。例如,如果一个列表有1,5,6,7 ..它将输出6 ..因为6有三个因素:1,2和3 ..(本身)不是一个因素。这就是我现在所拥有的:
def factors(n):
result = []
for i in range(1, n + 1):
if n % i == 0:
result.append(i)
return result
答案 0 :(得分:2)
一个简单的例子如下,你循环浏览一些数字并测试每个数字以查看它是否恰好有三个因素。它虽然不会特别有效......
#This will be your answers
results=[]
#Whatever you want your upper bound to be
highestValue=100
#Loop through up to your highest value
for eachVal in range(highestValue):
#If the length of the factor list is exactly 3, store the answer
if len(factors(eachVal))==3:
results.append(eachVal)
print(results)
编辑:当然,这会使用您的代码段中的“因素”功能,因此请确保它位于同一模块中,或者先导入它。