This script has two ways of finding all the prime numbers within a range.The first way is to simply check every number and see if it is a prime number. The second way, which is a lot faster is to check every number, but also eliminate every multiple of it.
import time
myRange = 10000
# one way
startTime1 = time.time()
for i in range(1, myRange):
count = 0
for o in range (1, i+1):
if i % o == 0 and i != o and o != 1:
count += 1
if i % o == 0 and i==o and count == 0:
print(i)
time1 = time.time()-startTime1
print(time1)
#2nd way
startTime2 = time.time()
isPrime = []
for i in range(0,myRange):
isPrime.append(True)
for i in range (1, myRange):
if isPrime[i] == True and i != 1:
for o in range (2, int(myRange/i)):
isPrime[i*o] = False
for i in range(0, len(isPrime)):
if isPrime[i] == True:
print(i)
time2 = time.time()- startTime2
print(time2)
print("range = ", myRange)
print("with 1st method: ", time1, "s and with 2nd method: ", time2,"s")