1. Canviar les dates

Dissenya les funcions següents i desa-les al mòdul dates_text (fitxer dates_text.py).

dates_text.canvia_mes_data(paraula, mesos)

paraula és un string que no conté espais en blanc i que pot acabar amb un signe de puntuació. Si paraula està formada per un dia, un mes i un any separats pel caràcter /, direm que és una data.

Si paraula és una data, tant el dia com el mes estaran formats per dígits. El dia i el mes poden tenir un o dos dígits i poden començar per zero. L’any pot acabar amb un signe de puntuació.

mesos és una llista de 12 elements en què a la posició ´i - 1´ hi ha el nom del mes ´i-èssim´.

Si paraula és una data, retorna un string amb el dia seguit del nom del mes i l’any. En cas contrari, retorna paraula.

Per exemple:


>>> mesos = ["de gener de", "de febrer de", "de març de", "d'abril de", "de maig de", "de juny de", "de juliol de", "d'agost de", "de setembre de", "d'octubre de", "de novembre de", "de desembre de"]

>>> r = canvia_mes_data('1/10/2017', mesos)
>>> r
"1 d'octubre de 2017"

>>> r = canvia_mes_data('data.', mesos)
>>> r
'data.'

>>> r = canvia_mes_data('11/09/1714,', mesos)
>>> r
'11 de setembre de 1714,'

Trobaràs més tests al fitxer test-canvia_mes_data.txt.


dates_text.canvia_mesos_dates(text, mesos)

text és un string que conté paraules separades per espais en blanc. Algunes d’aquestes paraules poden ser dates, vegeu el paràmetre paraula de la funció canvia_mes_data().

mesos té el mateix significat que a la funció canvia_mes_data().

Retorna un string en què les paraules de text que són dates s’han substituït per la data en el format que calcula la funció canvia_mes_data().

Per exemple:


>>> mesos = ["de gener de", "de febrer de", "de març de", "d'abril de", "de maig de", "de juny de", "de juliol de", "d'agost de", "de setembre de", "d'octubre de", "de novembre de", "de desembre de"]

>>> r = canvia_mesos_dates('La primera data fou 1/10/2017 i després 10/10/2017 i 27/10/2017.', mesos)
>>> r
"La primera data fou 1 d'octubre de 2017 i després 10 d'octubre de 2017 i 27 d'octubre de 2017."

>>> r = canvia_mesos_dates('Quan no hi ha dates, queda igual.', mesos)
>>> r
'Quan no hi ha dates, queda igual.'

Trobaràs més tests al fitxer test-canvia_mesos_dates.txt.