Skip to main content

How to generate a list of prime numbers in a given range in Python

How to generate a list of prime numbers in a given range in Python.

Here's a step-by-step tutorial on how to generate a list of prime numbers in a given range using Python:

Step 1: Understand Prime Numbers

Before we start coding, let's make sure we understand what prime numbers are. A prime number is a natural number greater than 1 that has no positive divisors other than 1 and itself. For example, 2, 3, 5, 7, 11, 13, etc., are prime numbers.

Step 2: Define the Function

We'll create a function called generate_prime_numbers that takes two parameters: start and end. The start parameter will represent the lower bound of the range, and the end parameter will represent the upper bound of the range.

Step 3: Initialize an Empty List

Inside the generate_prime_numbers function, we'll initialize an empty list called primes to store the prime numbers within the given range.

def generate_prime_numbers(start, end):
primes = []

Step 4: Iterate through the Range

Next, we'll use a for loop to iterate through each number within the given range. We'll check if each number is prime or not.

def generate_prime_numbers(start, end):
primes = []

for num in range(start, end + 1):
# Check if the number is prime
is_prime = True

Step 5: Check for Prime Numbers

To check if a number is prime, we'll use another for loop to iterate from 2 up to the square root of the number (inclusive). If the number is divisible by any of these values, it is not prime.

import math

def generate_prime_numbers(start, end):
primes = []

for num in range(start, end + 1):
is_prime = True

# Check for factors from 2 to the square root of num
for i in range(2, int(math.sqrt(num)) + 1):
if num % i == 0:
is_prime = False
break

Step 6: Append Prime Numbers to the List

If the is_prime variable remains True after the inner loop, it means the number is prime. In that case, we'll append it to the primes list.

import math

def generate_prime_numbers(start, end):
primes = []

for num in range(start, end + 1):
is_prime = True

for i in range(2, int(math.sqrt(num)) + 1):
if num % i == 0:
is_prime = False
break

if is_prime:
primes.append(num)

return primes

Step 7: Test the Function

To test our function, we can call it with a range of numbers and print the result.

print(generate_prime_numbers(1, 20))
# Output: [2, 3, 5, 7, 11, 13, 17, 19]

Step 8: Use the Function in Your Code

You can now use the generate_prime_numbers function in your code. Simply call the function and store the returned list of prime numbers in a variable for further use.

primes = generate_prime_numbers(1, 100)
print(primes)
# Output: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

That's it! You now have a step-by-step tutorial on generating a list of prime numbers in a given range using Python. Feel free to modify the code or incorporate it into your own projects.