3. Seqüència de dates (3 punts)

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.

En aquest exercici haureu de fer servir les classes datetime.date i datetime.timedelta que ja coneixeu.

Es demana que, en un fitxer anomenat seqdates.py deseu la funció especificada a continuació:

seqdates.dates_posteriors(data_ini, ndies)
Paràmetres:
  • data_ini – data inicial (date)

  • ndies – nombre de dies (int)

Retorna:

un iterador sobre una seqüència (potencialment infinita) de dates (date); la primera és la data_inicial i la resta són les dates posteriors cada ndies.

Per exemple:


>>> from seqdates import dates_posteriors
>>> from datetime import date

>>> it = dates_posteriors(date(2000, 2, 25), 2)
>>> next(it)
datetime.date(2000, 2, 25)
>>> next(it)
datetime.date(2000, 2, 27)
>>> next(it)
datetime.date(2000, 2, 29)
>>> for d in range(10):
...   print(next(it), end='>>>')
2000-03-02>>>2000-03-04>>>2000-03-06>>>2000-03-08>>>2000-03-10>>>2000-03-12>>>2000-03-14>>>2000-03-16>>>2000-03-18>>>2000-03-20>>>

Disposeu d’un joc de proves més complet al fitxer test-seqdates.txt.