Prints prime factors of a number. See Python for Numworks pg. 16
# factors.py def factors(n): fac=[] m=2 pr=2 while n>1: if n%m==0: fac.append(m) n//=m else: pr=next_prime(pr) m=pr if m*m>n: fac.append(n) break return fac def isPrime(n): if n%2==0: return False m=3 while m<=n/m: if n%m==0: return False m+=2 return True def next_prime(n): p=n+1 while isPrime(p)==False: p+=1 return p while True: s=input("Enter n: ") if s=="": break n=int(s) print(factors(n))