In this article, we will learn how to take a number as user input and check if the number is a prime number or not using for loop and while loop in Python.
Before starting, let’s learn a bit about prime numbers.
What is a Prime Number?
A prime number is a positive number that is greater than 1 and cannot be divided by any positive number except 1 and by itself.
Examples of prime numbers are, 2, 3, 5, 7, 11 etc.
A prime number can have only two factors. One will be 1 and the other will be the number itself. Example: 13/1 = 13 and 13/13 = 1, so it is a prime number since it have only two factors 1, 13
How to find a prime number?
To find a prime number, we have to follow these steps:
- First, we will check if the number is greater than one (1) or not.
- If yes, then we will divide the number between the range 2 upto the number itself. For example, if the number is 13, we will start from 13/2, 13/3, 13/4, and so on until 13/12.
If the number 13 is divisible by any number between 2 to 12, then it’s not a prime number. If not, then it is a prime number.
Note: We start dividing it from 2 because every number can be divided by 1.
Here, to find a prime number we will use:
- for… else and if statement, and
- while loop
Prime Number Program in Python using for loop
Example to check if a number is a prime number or not in python from user input.
num = int(input('Enter a number: ')) if num > 1: for i in range(2, num): if(num % i) == 0: print('Number is not Prime') break else: print('Number is Prime')
Enter a number: 13 Number is Prime
Here, we first take the user input using
input() method. We wrap it around with an
int() to convert the user input to an integer.
Next, we check if the number is greater then 1. If yes, we proceed to the next
for else statement.
We then check for the factors between 2 to the number itself using
Note: Since all numbers can be divided by 1, so we used 2 as the start in range() function.
On each iteration, we try to find the factor using
(num % i) == 0. If any number satisfies this condition, then the number is not a Prime number and we exit the program using
break statement. If not, the number is a prime number.
Prime Number Program in Python using while loop
Here, we will use
while loop to check if the user input is a prime number or not.
i=2 num = int(input('Enter a number')) flag=True while i < num: if(num % i) == 0: flag = False i = i+1 if flag: print('Number is a Prime Number') else: print('Number is not a Prime Number')
Enter a number: 7 Number is a Prime Number
Here, we have used a flag variable that is set to
We have set
i variable to 2, because it is the starting range to find the factor in the program.
i is like an index value, which will increase each time the program runs through the while loop.
Next, since any number less than 1 or equal to 1 is not a prime number, so we first check if the
num is greater than 1 or not.
If the input number is greater than 1, then the
while loop will run and on each iteration +1 will be added to
And if the program finds any factor between the given range, the
flag will be set to False.
And outside the
- If the flag is
True, the number is a prime number.
- If the flag is
False, the number is NOT a prime number.
Print Prime Number within a given range (between 1 to 100) in python
Here we will print all the prime numbers between the range 1 to 100 in python.
lower_val = 1 higher_val = 100 prime_num =  for num in range(lower_val, higher_val+1): if(num > 1): for i in range(2, num): if(num % i) == 0: break else: prime_num.append(num) print(prime_num)
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
Here, we set the lower and upper value within which we will find the prime numbers.
We set the range for the first for loop using
range(), we set
higher_val+1 to include the 100 number.
In the second
for loop, we divide the input number by all the numbers with the range 2 to number,
If we find any factor, we use the
break statement, to exit the loop. If not, the number gets appended to the empty list
At last, we print out the numbers in
prime_num python list.
Conclusion: Here, we have learned, how to write python programs to find all prime numbers in within a given range, and how to use the for and while loop to check for prime numbers in python.