I'm making a prime number calculator, It works perfectally, but I want it to be faster through the use of multithreading. I was wondering if any of you could point me to somewhere with some resources (the python docs are not very helpful) or give me an example in my code.
import time
#Set variables
check2 = 0
check3 = 0
check5 = 0
check7 = 0
#get number
primenum = int(input("What number do you want to find out whether it is prime or not?\nIt must be a natural number\n**Calculations may take some time depending of the power of the computer and the size of the number**\n"))
#set divisor
primediv = primenum - 2
#assume it's prime until proven innocent
prime = 1
#Create variable for GUI
working = "Calculating"
work = 10000000
#set the number of divides to 0
divnum = 0
#start the clock
starttime = time.perf_counter()
#until it is not prime or divided by 1...
while prime == 1 and primediv >7:
#does simple checks to deal with large numbers quickly
#Does this by dividing with small numbers first
if primenum != 0 and check2 == 0:
primemod = primenum % 2
check2 = 1
print(working + ".")
working = working +"."
elif primenum != 0 and check3 == 0:
primemod = primenum % 3
check3 = 1
print(working + ".")
working = working +"."
elif primenum != 0 and check5 == 0:
primemod = primenum % 5
check5 = 1
print(working + ".")
working = working + "."
elif primenum != 0 and check7 == 0:
primemod = primenum % 7
check7 = 1
print(working + ".")
working = working + "."
#divde and get remainder
else:
primemod = primenum % primediv
#Working visuals
if divnum == work:
print(working + ".")
working = working +"."
work = work + 10000000
#if the can't be devided evenly
if primemod == 0:
#then it isn't a prime
prime = 0
else:
#if it can, keep going
primediv = primediv - 2
divnum = divnum + 1
#print results
if prime == 1:
print("That number is prime")
print ("It took ", time.perf_counter()-starttime, " seconds to perform that calculation\n")
else:
print("That number is not prime")
print ("It took ", time.perf_counter()-starttime, " seconds to perform that calculation\n")