n vegades n¶
Avís
Per a resoldre aquest exercici no es poden fer servir llistes, tuples, diccionaris ni cap altra estructura de dades per a desar tots els elements d’un iterador.
Dissenyeu la funció generadora següent i deseu-la al mòdul nombres
(fitxer nombres.py
):
- nombres.seq_nn()¶
Genera un iterador sobre la seqüència (potencialment infinita) dels nombres naturals, repetit cadascun d’ells tantes vegades com el seu valor:
>>> from nombres import seq_nn
>>> it = seq_nn()
>>> next(it)
1
>>> next(it)
2
>>> next(it)
2
>>> for i in range(33):
... print(next(it), end=',')
3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,6,6,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,
Com es pot veure, els nombres es generen de forma creixent, essent 1 el primer nombre natural.
Disposeu de jocs de prova en el fitxer test-nombres.txt
.
Nota
Disposeu d’una solució de l’exercici al fitxer nombres.py
.