What is factor in python?

Source Code

# Python Program to find the factors of a number

# This function computes the factor of the argument passed
def print_factors(x):
   print("The factors of",x,"are:")
   for i in range(1, x + 1):
       if x % i == 0:
           print(i)

num = 320

print_factors(num)

Output

The factors of 320 are:
1
2
4
5
8
10
16
20
32
40
64
80
160
320

Note: To find the factors of another number, change the value of num.

In this program, the number whose factor is to be found is stored in num, which is passed to the print_factors() function. This value is assigned to the variable x in print_factors().

In the function, we use the for loop to iterate from i equal to x. If x is perfectly divisible by i, it's a factor of x.

Here is an example if you want to use the primes number to go a lot faster. These lists are easy to find on the internet. I added comments in the code.

# http://primes.utm.edu/lists/small/10000.txt
# First 10000 primes

_PRIMES = (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, 101, 103, 107, 109, 113, 
        127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 
        179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 
        233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 
        283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 
        353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 
        419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 
        467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 
        547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 
        607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 
        661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 
        739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 
        811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 
        877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 
        947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013, 
# Mising a lot of primes for the purpose of the example
)


from bisect import bisect_left as _bisect_left
from math import sqrt as _sqrt


def get_factors(n):
    assert isinstance(n, int), "n must be an integer."
    assert n > 0, "n must be greather than zero."
    limit = pow(_PRIMES[-1], 2)
    assert n <= limit, "n is greather then the limit of {0}".format(limit)
    result = set((1, n))
    root = int(_sqrt(n))
    primes = [t for t in get_primes_smaller_than(root + 1) if not n % t]
    result.update(primes)  # Add all the primes factors less or equal to root square
    for t in primes:
        result.update(get_factors(n/t))  # Add all the factors associted for the primes by using the same process
    return sorted(result)


def get_primes_smaller_than(n):
    return _PRIMES[:_bisect_left(_PRIMES, n)]

Factors are numbers which divide the number evenly.
Factors of 12 are 1, 2, 3, 4, 6, 12
Factors ( of a number ) are numbers which when divide the number they leave 0 as reminder

  • Video Tutorial on Factors of a number


Here is the code to get factors of any number.
n=25 # change this value 
for i in range (1,n+1):
  if(n%i==0):
    print(i,end=', ')
Output
1, 5, 25,
Modulus is the reminder of a division. Here n%i returns 0 if reminder of division is zero. For all the numbers where reminder is 0 we are printing by using if condition checking.

Using user input

All inputs are string data type by default. We can use int() to change this to integer.
n=int(input("Enter a number : "))
#n=25
for i in range (1,n+1):
  if(n%i==0):
    print(i,end=', ')

Using less looping

In above code we are looping from 1 till the input number. We can observe that the factors are always less than or equal to half of the number. So there is no need to use the loop till the number, we can stop looping after checking half of the input number. We will again use int() to convert any float value to integer.
The number ( n ) is the factor of itself so we may print this number at the end to complete the list.
n=125
for i in range (1,int(n/2)+1):
  if(n%i==0):
    print(i,end=', ')
print(n)    
Output
1, 5, 25, 125
All Sample codes
Fibonacci series Prime Numbers Armstrong Number


What is factor in python?

plus2net.com


Whats is a factor?

factor, in mathematics, a number or algebraic expression that divides another number or expression evenly—i.e., with no remainder. For example, 3 and 6 are factors of 12 because 12 ÷ 3 = 4 exactly and 12 ÷ 6 = 2 exactly. The other factors of 12 are 1, 2, 4, and 12.

What is factors of a number in Python?

How to find factors of a number in Python | A number which divides completely the number “N” is called the factor of the number “N”. For example:- the numbers 1, 2, 3, 4, 6, and 12 are complete divides number 12 so they are called the factor of 12.

What is a factor integer?

Factor: A factor of an integer n is any number that divides n without remainder. Prime Number: A positive integer n is called prime if its only factors are 1 and n (and -1 and -n). Composite Number: An integer n is called composite if it is not prime.

How do you factor 2 numbers in Python?

Method to find common divisors of two numbers.
Store the two numbers in variable 'num1' and 'num2'..
Declare a variable say 'i' and initialize it with 1..
Check the divisibility of both numbers by 'i'..
If both numbers are divisible, display the common divisor i.e. 'i'..
Increment the value of 'i' by 1..