[SOLVED] My function not returning any result in python?

Issue

so I was doing a little math study and decided to recreate a simple assignment in python which is to find the factor pairs of a number. I did that quite easily but now I have a little issue which I have tried to figure out but to no avail. Here’s the code:

# 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?

When I use the print(getFactorPairs()) and pass in a number, the result is as expected but when I just call the function getFactorPairs() and input a number, it doesn’t give me any result. I will be glad if someone can show me where I am doing something wrong. Thanks.

Solution

Replace

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

with

temp = getFactorPairs(120)
print(temp)

The reason

When a function return value/values it is not automatically displayed by python.

Answered By – Shaida Muhammad

Answer Checked By – Marilyn (BugsFixing Volunteer)

Leave a Reply

Your email address will not be published.