Python Program to find Factors of a Number

Write a Python Program to find Factors of a Number using While Loop, For Loop, and Functions with an example.

Python Program to find Factors of a Number using While Loop

It allows users to enter any integer value. Next, this program finds Factors of that number using a While Loop. Remember, Integers that are entirely divisible by a given integer (it means remainder = 0) are called factors.

number = int(input("Please Enter any Integer : "))

value = 1
print("The Result of a Given {0} are:".format(number))

while (value <= number):
    if(number % value == 0):
        print("{0}".format(value))
    value = value + 1
Please Enter any Integer : 4
The Result of a Given 4 are:
1
2
4

Within the Programming while loop, there is an If statement to check whether the Number divisible by value is exactly equal to 0 or not. If it is true, it prints that integer. Otherwise, it skips that integer and checks the next integer. Here, number= 4, value = 1

First Iteration
(value<= number) – It means (1 <= 4) is True
Now, Check the if condition
if (number%value == 0)  => (4 % 1 ==0) – This condition is TRUE. So, 1 printed

value= value+1 – means value become 2

Second Iteration
value= 2 and Number= 4 – It means (2 <= 4) is True
if(4 % 2 ==0) – This condition is TRUE. So, 2 printed

Third Iteration
value= 3 and Number= 4 – It means (3 <= 4) is True
if(3 % 2 ==0) – Condition is FLASE. So, 3 Skipped

Fourth Iteration
i = 4 and Number= 4 – It means (4 <= 4) is True
if(4 % 4 ==0) – Condition is TRUE. 4 printed

Next, value become 5 – It means condition (5 <= 4) is False. So, the loop was Terminated. The result of a given 4 = 1, 2, 4.

Python Program to find Factors of a Number using For Loop

In this program, we just replaced the While Loop with For Loop.

val = int(input("Please Enter any Value : "))

print("Result of a Given {0} are:".format(val))

for i in range(1, val + 1):
    if(val%i == 0):
        print("{0}".format(i))
Python Program to find Factors of a Number 2

Find Factors of a Number using Functions

This program is the same as the above example. But in this Python program, we separated the logic by defining a new function called FindFac.

def FindFac(num):
    for value in range(1, num + 1):
        if(num % value == 0):
            print("{0}".format(value))

num = int(input("Please Enter any : "))

print("Result of a Given {0} are:".format(num))
FindFac(num)
Please Enter any : 222
Result of a Given 222 are:
1
2
3
6
37
74
111
222