Randomness of Prime Numbers | Maths Explanation for Python Kids
Prime numbers are natural numbers greater than 1 with no positive divisors other than 1 and itself. Prime numbers, in ascending order, are:
Because prime numbers are so random in their progression,
they are very difficult to predict as they get larger.
For the reason of their unpredictability, prime numbers are applied in
- Cryptography: RSA encryption relies on large prime numbers.
- Hashing: Prime numbers help reduce collisions in hash functions.
- Data structures: Primes are used in sizing hash tables and optimizing algorithms.
In this beginner-friendly Maths Python tutorial for kids, we'll show how to list prime numbers in a fun and interactive way for STEM students.
Writing a Python code to list prime numbers will involve checking every number in a range of interest and gathering those that are without factors.
Logic for Determining Prime Numbers | Detailed Explanation for Python Kids
Say we want to implement a Python algorithm to list all prime numbers between 2 and 100 inclusive,
we would start from 2; check to see whether it has any factors;
keep it as a prime number if it has no factors; otherwise discard it.
We would then go to 3, and repeat the same process.
Repeat same for 4, 5, 6, 7, ..., 98, 99, 100.
But we can always use a few tricks for the Python algorithm...
Step 1:
First, we'll start our range from 9 (keeping 2, 3, 5, and 7 as prime numbers).
Step 2:
Next, we'll only check through odd numbers.
Step 3:
Next, we'll check against the factors 2, 3, and 5.
Step 4:
Lastly, we'll check with a subset of smaller
prime numbers that we'll gather as our check progresses.
Create a new Python class file; File, New File.
Call it listPrimeNumbers.py.
Type out the adjoining Python code for listing prime numbers.
Note: You can comment out the Python code for the main class from the previous lesson if you have been following.
So! Python Fun Practice Exercise - List Prime Numbers
As a fun practice exercise, feel free to try out your own boundary values, and see how the Python code lists the prime numbers between those boundary values.
Python Code for List Prime Numbers - Module File.
# A class
class ListPrimes:
# Constructor: takes two arguments -- besides its name
# alpha and omega values for the range
def __init__(self, alpha, omega):
self.start = alpha
self.stop = omega + 1
# STEP 1:
self.progress = 9
self.list_of_primes = [2, 3, 5, 7]
self.square_root = 0
# Returns an list of the desired set of prime numbers
def getPrimes(self):
# STEP 2:
for self.progress in range(self.progress, self.stop, 2):
self.do_next_iteration = False # a flag
# STEPS 3, 4:
# Check through already accumulated prime numbers
# to see if any is a factor of "progress".
self.square_root = int(ceil(sqrt(self.progress)))
self.index = 0
while self.list_of_primes[self.index] <= self.square_root:
if self.progress % self.list_of_primes[self.index] == 0:
self.do_next_iteration = True
break
self.index += 1
if self.do_next_iteration == True:
continue
# if all checks are scaled,then "progress" is our guy.
self.list_of_primes.append(self.progress)
return self.list_of_primes
Python Code for List Prime Numbers - Main Class.
from PrimeNumbers import ListPrimes
# Use the prime numbers module/class
lower_boundary = 1
upper_boundary = 100
prime_list = ListPrimes(lower_boundary, upper_boundary)
answer = prime_list.getPrimes()
print("Prime numbers between", lower_boundary, "and", upper_boundary, "are:\n", answer)
print("\n\n")