def divSum(number):
divisors = [1]
for i in range(2, number):
if (number % i)==0:
divisors.append(i)
return sum(divisors)
l=[]
def isFriendly(x):
if x==1:
return False
elif x in l:
return True
else:
l.append(x)
#x=divSum(x)
isFriendly(divSum(x))
z = isFriendly(20)
print(z)
However, if I replace "return" with "print", it prints correctly. I tried a sample function (instead of calling isFriendly) to just accept a number and return True if the input number is 1, else False and it returned the correct output.
Any suggestions appreciated.