我的函数在 python 中没有返回任何结果?

My function not returning any result in python?

所以我在做一些数学研究,并决定在 python 中重新创建一个简单的作业,即找到一个数字的因子对。我很容易做到这一点,但现在我遇到了一个小问题,我试图弄清楚但无济于事。这是代码:

# Find the factor pairs of a given number

def getFactorPairs(n=0):
    num = n
    factors = []
    pair = None

    for p in range(1, num + 1):
        for r in range(1, num + 1):
            if p * r == num:
                pair = (p, r)
                if (r, p) not in factors:
                    factors.append(pair)
                else:
                    continue
    return factors

print(getFactorPairs(120)) # Works fine

getFactorPairs(120) # This doesn't give any result. Why?

当我使用 print(getFactorPairs()) 并传入一个数字时,结果符合预期,但是当我调用函数 getFactorPairs() 并输入一个数字时,它没有给我任何结果.如果有人能告诉我哪里做错了,我会很高兴。谢谢

替换

getFactorPairs(120) # This doesn't give any result. Why?

temp = getFactorPairs(120)
print(temp)

原因

当函数 return value/values 时,它不会被 python 自动显示。

打印函数将显示值。 如果将 getFactorPairs() 的结果分配给变量并使用 print 显示变量,它将显示结果

def getFactorPairs(n=0):
    num = n
    factors = []
    pair = None

    for p in range(1, num + 1):
        for r in range(1, num + 1):
            if p * r == num:
                pair = (p, r)
                if (r, p) not in factors:
                    factors.append(pair)
                else:
                    continue
    return factors
result = getFactorPairs(120)
print(result)

你只是在执行函数,没有显示结果