1. Home
  2. Languages
  3. Python
  4. How to Check for Prime Numbers in Python: A Beginner’s Guide

How to Check for Prime Numbers in Python: A Beginner’s Guide

Certainly! Here’s a detailed step-by-step guide on How to Check for Prime Numbers in Python designed for beginners.


Prime numbers are numbers greater than 1 that have no divisors other than 1 and themselves. Checking whether a number is prime is a common problem in programming and a great exercise to practice loops, conditionals, and basic logic.


Step 1: Understand What a Prime Number Is

  • A prime number is greater than 1.
  • It has no positive divisors other than 1 and itself.
  • Examples: 2, 3, 5, 7, 11, 13, 17, …


Step 2: Understand the Problem Requirements

You want to write a program that:

  • Takes an integer input from the user.
  • Checks if the number is prime.
  • Outputs whether it is prime or not.


Step 3: Plan the Logic to Check for Primality

To check if a number n is prime:

  1. If n is less than or equal to 1, it is not prime.
  2. Check all numbers starting from 2 up to n-1 (or optimized up to √n) to see if any divides n evenly.
  3. If any such number exists where n % i == 0, then n is not prime.
  4. If no divisors are found, n is prime.


Step 4: Write a Simple Python Program to Check Prime Numbers

python

num = int(input("Enter an integer: "))

if num <= 1:
print(f"{num} is not a prime number.")
else:

is_prime = True  # Assume number is prime until proven otherwise
for i in range(2, num):
if num % i == 0:
is_prime = False
break
# Step 4d: Print the result based on check
if is_prime:
print(f"{num} is a prime number.")
else:
print(f"{num} is not a prime number.")


Step 5: Optimize the Code to Improve Efficiency

Why optimize?

Checking divisors up to num-1 is inefficient for large numbers.

How to optimize?

  • You only need to check divisors up to the square root of the number.
  • If no factors found up to sqrt(num), then the number is prime.

Updated Code with Optimization:

python
import math

num = int(input("Enter an integer: "))

if num <= 1:
print(f"{num} is not a prime number.")
else:
is_prime = True

for i in range(2, int(math.sqrt(num)) + 1):
if num % i == 0:
is_prime = False
break
if is_prime:
print(f"{num} is a prime number.")
else:
print(f"{num} is not a prime number.")


Step 6: Turn Your Code Into a Reusable Function

It’s good practice to put your prime checking logic into a function.

python
import math

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

number = int(input("Enter an integer: "))
if is_prime(number):
print(f"{number} is a prime number.")
else:
print(f"{number} is not a prime number.")


Step 7: Test Your Program With Sample Inputs

Try numbers like:

  • -10 (not prime)
  • 0 (not prime)
  • 1 (not prime)
  • 2 (prime)
  • 17 (prime)
  • 18 (not prime)
  • 29 (prime)
  • 100 (not prime)


Step 8: Optional Enhancements

  • Handle non-integer input: Use try-except to validate input.
  • Check multiple numbers: Allow user to input a list or loop repeatedly.
  • Print all primes up to N: Write a function to print prime numbers up to a given limit.


Example: Handling Invalid Input

python
import math

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

try:
number = int(input("Enter an integer: "))
if is_prime(number):
print(f"{number} is a prime number.")
else:
print(f"{number} is not a prime number.")
except ValueError:
print("Invalid input! Please enter a valid integer.")


  • Prime numbers are numbers > 1 with no divisors other than 1 and itself.
  • Loop only up to the square root for efficiency.
  • Use functions to make code reusable and clean.
  • Validate user input for better user experience.

Now you are ready to check prime numbers in Python! Keep practicing by writing your own variations of the program.


If you want, I can also help you build advanced prime checking methods or GUI programs. Just let me know!

Updated on June 3, 2025
Was this article helpful?

Related Articles

Leave a Comment