#!/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()