# Checking if a Number is Prime or Not with Python

In this blog, we will use the Python programming language to write a simple application that checks if the number is prime or not.

**Prime numbers** are special numbers, greater than 1, that have exactly two factors, **themselves** and **1.**

19 is a prime number. It can only be divided by 1 and 19.

9 is not a prime number. It can be divided by 3 as well as 1 and 9.

`num = int(input('Enter the number: ')) `

Above code is the way to get input from the user, making it *int *data type and assigning it to a variable called *num.*

```
# If given number is greater than 1
if num > 1:
# Iterate from 2 to n / 2
for i in range(2, int(num/2)+1):
# If num is divisible by any number between
# 2 and n / 2, it is not prime
if (num % i) == 0:
print(num, "is not a prime number")
break
else:
print(num, "is a prime number")
else:
print(num, "is not a prime number")
```

Since the integer 1 is neither prime nor composite we first check the *num* to be greater than 1. If the *num* is greater than 1 then we write a for loop.

The loop starts from 2 and goes till *num/2. *Because the largest proper divisor of a number N can never be greater than N/2. Recall that *range* method does not include the second argument.

The next condition checks if the number is divisible by *i, *if yes, it prints out the message that the number is not prime, else, it says the number is prime. And the last *else *condition is a way of considering the numbers that are not greater than 1 (not prime).

Let us run the code and see an example:

`Enter the number:11`

When we enter 11 as an input, the output says:

`11 is a prime number`

Because 11 is only divisible by itself and 1, the output is correct.

Let us see another one:

`Enter the number: 86`

When we enter 86 as an input,

`86 is not a prime number`

is the result. Because 86 can be divided by 1, 2, 43, 86, it is a composite number not a prime number.

You can find the GitHub repo for the jupyter notebook and python code at this __link__