In this post I am going to share with you guys how to find the factors of a number using python.
This may help a lot of you with the for loops on action.
So what we are going to create is a function that will take a number that we want to find its factors as a parameter and then return all the factors as a list.
factors = factors_of(10) print(factors)
Let us get into this function.
Step 1: Define a function
Is very important to give your function an meaningful name.
The reason I chose factors_of is because it gives saves you time and energy to put a comment. Using meaningful name can save you from writing a comment to explain what does a function does.
Step 2: Create a temporary list
This list is the one that is going to be returned carrying all the factors.
temp = list()
Sorry I migrated to python from c#, so I am used to instantiating a data type hence I said temp = list() instead of temp =. But I think for memory cache purposes, list() is better than  just append is better than +=. If I am wrong with this please feel free to comment.
Step 3: Create A loop from 1 to the number
This loop must with the number we are looking it's factors. We are going to use the built-in function *range(seed,max-1,step)
for i in range(1,number+1):
Plus 1 because we want the number itself to be included because according to the formula of a range, the number is excluded.
Step 4: Use a condition with % operator
For us to find if a number is a factor we must find a remainder of 0 if we devide with it. Lucky we will just % to find remainder. Then we append the number to the list
#line for the loop if number%i==0: temp.append(i)
Then lets return the list.
Code is full:
def factors_of(number): temp = list() for i in range(1,number+1): if number%i==0: temp.append(i) return temp
So if we go back to our example but with a different number let's check the results
factors = factors_of(20) print(factors)
I hope you enjoyed the post and it was helpful for you. Cheers