In this tutorial, we will learn how to check if a number is prime in Python using different methods and algorithms.
What is a Prime Number?
A prime number is a natural number greater than 1 that cannot be formed by multiplying two smaller natural numbers. In other words, a prime number is a number that is divisible only by 1 and itself.
For example, the first few prime numbers are 2, 3, 5, 7, 11, and 13.
Method 1: Brute Force Approach to check prime number in python
One of the simplest methods to check if a number is prime is by using a brute force approach. This method involves iterating through all the numbers from 2 to n-1 and checking if n is divisible by any of them. If it is, then n is not a prime number. Otherwise, it is a prime number.
Here’s the Python code for this method:
def is_prime(n):
if n < 2:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
This function takes in a number n
as an argument and returns True
if n
is a prime number, and False
if it is not.
Method 2: Using the math
Module
Another method to check if a number is prime is by using the math
module in Python. This module provides various mathematical functions and constants, including a function to check if a number is prime.
To use this method, you need to first import the math
module and then use the isprime
function. Here’s the Python code for this method:
import math
def is_prime(n):
return math.isprime(n)
This function takes in a number n
as an argument and returns True
if n
is a prime number, and False
if it is not.
Method 3: Using a While Loop
You can also write a program to check if a number is prime using a while
loop. This method involves dividing the number by all the integers from 2 to the square root of the number, and checking if the remainder is 0. If the remainder is 0, the number is not a prime number. Otherwise, it is a prime number.
Here’s the Python code for this method:
def is_prime(n):
if n < 2:
return False
i = 2
while i <= math.sqrt(n):
if n % i == 0:
return False
i += 1
return True
This function takes in a number n
as an argument and returns True
if n
is a prime number, and False
if it is not.
Method 4: Using a For Loop
You can also write a program to check if a number is prime using a for
loop. This method is similar to the previous method, but it uses a for
loop instead of a while
loop.
Here’s the Python code for this method:
def is_prime(n):
if n < 2:
return False
for i in range(2, int(math.sqrt(n))+1):
if n % i == 0:
return False
return True
Checking if a List of Numbers Contains Prime Numbers
You can use any of the above methods to check if a list of numbers contains prime numbers. Here’s an example of how you could do this using a for
loop:
def find_primes(numbers):
primes = []
for n in numbers:
if is_prime(n):
primes.append(n)
return primes
# Test the function
numbers = [2, 3, 4, 5, 6, 7, 8, 9, 10]
print(find_primes(numbers)) # Output: [2, 3, 5, 7]
This code defines a function find_primes
that takes in a list of numbers and returns a list of the prime numbers in the input list. It uses a for
loop to iterate through the list and calls the is_prime
function on each number to check if it is a prime number. If it is, it appends the number to the list of primes.
How to print 1 to 100 prime numbers in Python using while loop?
To print all the prime numbers from 1 to 100 in Python using a while
loop, you can use the following code:
# Print 1 to 100 prime numbers in Python using a while loop
def is_prime(n):
if n < 2:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
def print_primes():
i = 1
while i <= 100:
if is_prime(i):
print(i)
i += 1
# Test the function
print_primes()
This code defines a function is_prime
that takes in a number n
as an argument and returns True
if n
is a prime number, and False
if it is not.
It also defines a function print_primes
that uses a while
loop to iterate through the numbers from 1 to 100 and calls the is_prime
function on each number to check if it is a prime number. If it is, it prints the number.
You can test the function by calling print_primes
and printing the output.
Python find prime numbers in range
To find the prime numbers between a given range in Python, you can use the following code:
# Find prime numbers between a given range in Python
def is_prime(n):
if n < 2:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
def find_primes(start, end):
primes = []
for i in range(start, end+1):
if is_prime(i):
primes.append(i)
return primes
# Test the function
print(find_primes(1, 30)) # Output: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
Write a Python program to find whether a number is prime or composite
# Python program to find whether a number is prime or composite
def is_prime(n):
if n < 2:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
def check_number(n):
if is_prime(n):
print(f"{n} is a prime number.")
else:
print(f"{n} is a composite number.")
# Test the function
check_number(2) # Output: 2 is a prime number.
check_number(3) # Output: 3 is a prime number.
check_number(4) # Output: 4 is a composite number.
check_number(5) # Output: 5 is a prime number.