Following is the method to find all factors of a positive integer, it's writen by iterator and generator respectively, they can achieve same function.
Iterator
def factors(n):
results=[]
for k in range(1,n+1):
if n%k==0:
results.append(k)
return results
Generator
def factors(n):
for k in range(1,n+1):
if n%k==0:
yield k
Now we will check the result of above two methods. Let's run:
for r in factors(100):
print(r)
As for iterator, we can get:
1
2
4
5
10
20
25
50
100
As for Generator, we can get same result, as:
1
2
4
5
10
20
25
50
100