# 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 example.

## Python Program to find Factors of a Number using While Loop

It allows users to enter any integer value. Next, this Python program finds Factors of that number using a While Loop. Remember, Integers that are entirely divisible by a given integer (it means remainder = 0) called as 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 Python while loop, there is an If statement to check whether 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, loop 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 using Functions

This Python factors of a number 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``````