Python Program to Check Prime Number


Example to check whether an integer is a prime number or not using for loop and if....else statement. If the number is not a prime number, it's explained in output why it is not a prime number.


A positive integer greater than 1 which has no other factors except 1 and the number itself is called a prime number. 2,3,5,7 etc. Are prime number as they do not have any other factors. But 6 is not prime (it is composite) Since 2  * 3 = 6.

# Python program to check if the input number is prime or not 

num = 407

# take input from the user 
#  num = int(input("Enter a number"))

# prime numbers are greater than 1
if num > 1
    # check for factors
   for i in range(2,num):
          if (num% i) == 0:
               print(num,"is not a prime number ")
               print(i,"times",num//i,"is",num)
              break
   else:
         print(num,"is a prime number")

# if input number is less than
# or equal to 1, it is not prime
else:
Print(num, "is not a prime number")

Output

407 is not a prime number
11 times 37 is 407


In this program, variable num is checked If it's prime or not. Number less than or equal to 1 are not prime number. Hence, we only proceed if the num is greater than 1.

We check if num is exactly divisible by any number from 2 to num - 1. If we find a factor in that range, the number is not prime. else the number is prime.

We can decrease the range of number where we look for factors.

In the above program, our search range is from 2 to num - 1.

We could have used range, [2, num / 2] or [2, num ** 0.5]. The later range is based on the fact that a composite number must have a factor less than square root of that number; otherwise the number is prime.

You can change the value of variable num in the above source code and test or other integer (if you want).