Python Program to Check Prime Number

Here you will get python program to check prime number.

A number is called prime number if it is only divisible by 1 or itself. For example 2, 3, 5, 7, 11, etc are prime numbers.

Below program takes a number as input and checks it is prime number or not.

Python Program to Check Prime Number


enter a number: 11
prime number

Comment below if you have any queries related to above python prime number program.

16 thoughts on “Python Program to Check Prime Number

  1. Pavan Kumar

    Here according to the program else is inside the for loop. When the if condition fails, directly it will print as the number is not prime until checking up to the last value. If I take num=9, then in first iteration (9%2)==0 (false) else statement will be executed. But 9 is not prime right. can u explain me this prgm.

    1. Admin Post author

      See, this else is not the part of if. In python for loop is little different from other languages like C and C++. In python we can use a else statement with for loop. After the loop ends, else statement is executed. In case break is used somewhere in loop then else is not executed. The program is correct and works fine, just try to run it.

      You can learn about for loop in python here

  2. Soham

    def prime_check(number= ‘Plese enter a valid number’):
    for s in range(2,number+1):
    if number<=1 or number / s != 0:

    print("it's not a prime number")

    print("It's a prime number")

  3. Rahul Deshmukh

    Sir I can check as below also.
    I am mentioning the logic here only
    initialize i to 2
    Store the number to be checked at n
    now I will check for every i that whether it divides n or not;and the loop will continue till i reaches n
    if for any value of i it divides n,n will be non-prime and if no value of i can divide n then n will be prime.
    Sir I cannot fully apply the idea in my program.Will you please help me ASAP?

  4. kishan

    sir ur program gives an error while we entering greater than 10 .this error only occur when we enter prime number ..

  5. robin singh

    thanks brother , my program doesn’t runs because i doesn’t put the break statement at end of loop.

    for i in range(2,30):
    while j<i:
    if i%j==0:
    print("%s it is prime"%(i))

  6. vamshi

    def primes(num):
    for i in range (2,int(num/2)+1):
    if ((num%i)==0):
    return list
    iam unable to append primes to list please help me out

    1. Birendra Budhathoki

      It returns a list of primes upto a number n.

      def primes_upto(n):
      arr = []
      for i in range(1, n+1):
      if i in [2, 3]:
      for j in range (2, (i//2) + 1):
      if i % j == 0:
      if j == i//2:
      return arr

  7. Birendra Budhathoki

    This program has a small error. This works fine for other inputs except for 4. It says 4 is a prime number which is actually not.

    When input is 4, range function is range(2, 2). This returns an empty list. Thus the execution is jumped to else block. And, it prints ‘prime number’.

    Hence, it should be range(2, int(n/2) + 1) instead of range(2, int(num/2)).
    This corrects the error!

  8. Ali

    When the chosen number is 2, how does it not print anything from the if statement when 2%2 is 0. I am confused.

    1. Bhartendu Kumar

      As the function range(2,var) will produce list of numbers from 2 up to var.i.e. 1 less than var. so in the case var=2,
      range(2,2) produces EMPTY LIST. And thus 2 never gets break statement.

  9. Bhartendu Kumar

    1 is not a prime but this program never considered that.

  10. Ugyen Tshering

    I really like your code because its very simple and easy to understand.

  11. Harish

    Sir your program is wrong we check 2 is prime or not they give me 2 is not prime number


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.