*Prime numbers are the building blocks of mathematics, and they have fascinated mathematicians for centuries. Regarding Python programming, there are different methods to check whether the given number is a prime number and generate the list of prime numbers in the given range. This article will discuss these methods.*

A prime number is a natural number greater than 1 that has no positive divisor other than 1 and itself. In simple terms, any number that is divided by 1 and itself is referred to as Prime Number.

Example: 2, 3, 5, 7, 11, 13, 17, 19, 23,...

**Note:** 1 is not a prime number.

In Python programming, there are different methods to check whether a given number is a prime number or not.

**Methods to Check Prime Numbers in Python**

**Method-1: Using Flag Variable**

The flag variable indicates whether the number is prime or not.

**Step-by-step Explanation**

- Define a function that will take one argument (the number you want to check).
- Initialize a flag variable, i.e., set it to 'True' initially, indicating that the number is prime.
- It will be changed to 'False' if we find a factor of the number.
- Check if the number is less than 2, as numbers less than 2 are not prime.
- Use a loop to check if the number has any factor other than 1 and itself. If you find a factor, set the flag to 'False' and break out the loop.
- Based on the flag variable, return whether the number is prime or not.

Let's have a look at the Python Code.

def is_prime(num): # Initialize a flag variable flag = True
# Numbers less than 2 are not prime if num < 2: flag = False else: # Check for factors from 2 to num-1 for i in range(2, num): if num % i == 0: flag = False break
# Return the result based on the flag variable return flag
# Example usagenumber = 29if is_prime(number): print(f"{number} is a prime number")else: print(f"{number} is not a prime number")

**Method -2: Using for-else Statement**

def is_prime(num): # Check if the number is less than or equal to 1 # Prime numbers are greater than 1 if num <= 1: return False # Not a prime number
# Iterate from 2 to the square root of num # This range is sufficient to check for factors for i in range(2, int(num**0.5) + 1): # If num is divisible by i, then num is not a prime number if num % i == 0: return False # num has a divisor other than 1 and itself
# The else part of for loop is executed # when no divisor is found in the for loop else: return True # num is a prime number
# Example usagenumber = 29# Check if the number is prime and print the resultif is_prime(number): print(f"{number} is a prime number")else: print(f"{number} is not a prime number")

Here, we have defined a function 'is_prime' that can take a single argument 'num' to check the primality. Initially, we will check if the num <= 1, then directly reject it (i.e., not prime). Now, we will iterate a for loop from 2 to the square root of 'num' (here, we are checking the square root because if 'num' has a factor larger than its square root, it must also have a smaller factor that we would have already checked).

Now, we will check whether num is divisible by I (num % i == 0), and if it is divisible, then num is not a prime number. Else, num is prime.

Didn't get it, don't worry!! Check out the video.

The next method to check whether the given number is prime or not is using a while loop.

### Method-3: Using While Loop

def is_prime_using_while(num): # Prime numbers are greater than 1 if num <= 1: return False
# Start checking from 2, since 1 is not a valid divisor for prime checking i = 2
# Loop until i is less than or equal to the square root of num # This is because a larger factor must be a multiple of a smaller factor while i * i <= num: # If num is divisible by i, it is not a prime number if num % i == 0: return False i += 1 # Increment i by 1 for the next iteration
# If no divisors are found, num is a prime number return True
# Example usagenumber = 29if is_prime_using_while(number): print(f"{number} is a prime number")else: print(f"{number} is not a prime number")

**Method -4: Using Recursion**

**Concept Used:** Divide the number by a smaller number and see if any division results in a whole number, and if you find any such divisor (except 1), then the number is not prime.

Let's have a look at the Python code.

def is_prime_recursive(num, i=None): # Initialize the divisor to num - 1 on the first call if i is None: i = num - 1
# Base case: if i reaches 1, the number is prime if i == 1: return True
# If num is divisible by any number other than 1 and itself, it's not prime if num % i == 0: return False
# Recursive call: check for the next smaller divisor return is_prime_recursive(num, i - 1)
# Example usagenumber = 29if is_prime_recursive(number): print(f"{number} is a prime number")else: print(f"{number} is not a prime number")

**Method-5: Using sympy.isprime() Function**

'sympy' library in Python provides symbolic mathematical functions, including efficient methods for prime number testing. The library contains one such function, known as 'isprime(),' which is simple and straightforward and checks the primality of a given number. Let's take an example to better understand how to use 'sympy.isprime() function in Phython.

pip install numpyfrom sympy import isprime
# Example usage of the isprime() function
# Define the number to be checkednumber = 29
# Use the isprime() function from sympy to check if the number is prime# The function returns True if the number is prime, and False otherwiseif isprime(number): print(f"{number} is a prime number")else: print(f"{number} is not a prime number")

**Conclusion**

In this article, we have briefly discussed different methods to check (like flag variable, for-else statement, while loop, and sympy.isprime()) whether a given number is prime or not using Python programming with the help of examples. Hope you will like the article.

Keep Learning!!

Keep Sharing!!

## FAQs on Methods to Check Prime Numbers in Python

**What is a Prime Number?**

A prime number is a natural number greater than 1 that has no positive divisor other than 1 and itself. In simple terms, any number that is divided by 1 and itself is referred to as Prime Number.

Example: 2, 3, 5, 7, 11, 13, 17, 19, 23,...

**Is 1 a prime number or not?**

No, 1 is not a prime number. A prime number is a natural number greater than 1 that has no positive divisor other than 1 and itself. In simple terms, any number that is divided by 1 and itself is referred to as Prime Number.

**What are the different methods to check the prime number in Python?**

There are different methods to check the prime number in Python:

1. Using Flag Variable

2. Using For-else Statement

3. Using While Loop

4. Using Recursion

5. Using sympy.isprime()

**About the Author**

Vikram has a Postgraduate degree in Applied Mathematics, with a keen interest in Data Science and Machine Learning. He has experience of 2+ years in content creation in Mathematics, Statistics, Data Science, and Mac... Read Full Bio

## Comments