Avís
Per a resoldre aquests exercicis no es poden fer servir llistes, tuples, diccionaris ni cap altra estructura. Ara bé, podeu dissenyar les funcions demanades bé com a generadors, bé utilitzant les funcions predefinides de Python i les dels mòduls itertools, functools i operator.
1. Iterador de divisors (5 punts)¶
Es demana que dissenyeu la funció especificada a continuació i la deseu en un fitxer anomenat divisors.py:
- divisors.seq_div(n)¶
- Paràmetres:
n (int) – enter estrictament positiu
- Retorna:
iterador sobre la seqüència de divisors de n ordenats de forma creixent, incloent tant 1 com el propi n
Per exemple,
>>> it = seq_div(2)
>>> next(it)
1
>>> next(it)
2
>>> next(it, 'final')
'final'
>>> for x in seq_div(12): # seqüència dels divisors del nombre 12
... print(x, end=',')
1,2,3,4,6,12,
Disposeu d’un joc de proves més complet al fitxer tests-divisors.txt