Prime

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/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()