> def isPrime(n): > > def factor(n, factors=[]): > if isPrime(n): > factors.append(n) > return factors > else: > for i in range(2, math.sqrt(n)+1): > if n % i == 0: > factor(n/i, factors) And if n%i != 0 what happens? And in either case what do we return? Nothing... Alan G