【发布时间】:2017-11-01 22:50:14
【问题描述】:
我正在尝试列出一个名为 count 的数字的所有因数。每当我运行它时,它都会返回1。例如:if 6 = count,那么调用findFactor(6)时应该返回的是1 2 3 6。返回的是 1
divisors = ""
def findFactor(count):
divisors = ""
valueD = 0
for i in range(1, count+1):
valueD = count/i
if isinstance(valueD,int) == True:
divisors = str(valueD)+" "
print divisors
【问题讨论】:
-
这不是 Java 代码。你是不是碰巧使用了
python标签? -
尝试在循环中连接结果,例如
divisors += str(valueD)+" " -
如果这是 Python 3,
if isinstance(valueD,int) == True永远不会为真,如果是 Python 2,它将始终为真,假设count始终是 @987654329 @ -
@ethanlee 好吧,这是一个不同的问题,至少你现在有不同的输出并且可以调试更多
-
是的,您使用
isinstance,但这不是您想知道的。它要么是always 和int,要么是alwaysfloat(python 没有double类型)