#!/usr/bin/python3 # -*- coding: utf-8 -*- # python 3.5 # created by : nsnzero # created on : 2016-12-24 # file name : prime-printer.py def isprime(n): n*=1.0 # convert n to float if n%2==0 and n!=2 or n%3==0 and n!=3: return False for b in range(1,int((n**0.5+1)/6.0+1)): #loop to find if number as factor up to it square root of n if n%(6*b-1)==0: # modulus testing for reminder - primes will have a remainder return False if n %(6*b+1)==0: # modulus testing for reminder - primes will have a remainder return False return True def main(): import sys if len(sys.argv) > 1 : # first arg is the scipt name !!! print("using passed number from system") number_to_stop_at = int( sys.argv[1]) else: number_to_stop_at = int(input("enter a number : ")) # current_number = 3 # unneccessary as loop defines base for current_number in range ( 3, number_to_stop_at, 2): #count from 3 skips 1 2 and even numbers if isprime(current_number): print(current_number , end = ",") if __name__ == '__main__': main()