Escriure dates¶
En un mòdul anomenat escriureDates.py, dissenyeu les funcions especificades a continuació. Per a provar-les, obriu un shell de Python, importeu el mòdul i comproveu que obteniu els resultats esperats. Així per exemple, fent:
>>> import escriuredates
>>> escriureDates.diaSetmana(2)
hauríeu d’obtenir “Dimarts”. I fent :
>>> import escriuredates
>>> escriureDates.escriureData(3, 23, 3, 2011)
s’hauria de mostrar: Dimecres 23 de març de 2011
funció diaSetmana: donat un enter x, retorna una cadena de caràcters (string) amb el nom del dia de la setmana corresponent a l’enter x. Concretament, per x =1 ha de retornar “Dilluns”, per x = 2, ha de retornar “Dimarts” i així successivament fins a “Diumenge” i, si x <1 o x >7, ha de retornar “?”.
funció mesAny: donat un enter retorna una cadena de caràcters (string) amb el nom del mes corresponent a l’enter x. Concretament, per x =1 ha de retornar “gener”, per x = 2, ha de retornar “febrer” i així successivament fins a “desembre” i, si x <1 o x >12, ha de retornar “?” .
funció escriureData: donats 4 enters que representen un dia de la setmana, un número del dia del mes, el númerol de mes i el nmúmero de l’any, escriu la data pel CES amb el format: “nom-del-dia número-del-dia de nom-del-mes de número-any”. Per exemple: escriureData(3, 21, 9, 2011) ha de mostrar “Dimecres 21 de setembre de 2011”. Pels mesos d’abril, agost i octubre que comencen amb vocals cal escriure d” en lloc de de abans del nom del mes.
Afegiu al mòdul la funció booleana anterior_diada que donats tres enters d, m i a que representen el dia, mes i any d’una data, retorni True si i només si la data és anterior a l’onze de setembre de 1714:
def anterior_diada(d, m, a):
"""
Retorna True si i només si d/m/a és anterior al dia 11/09/1714
>>> anterior_diada(15, 10, 2010)
False
>>> anterior_diada(31, 7, 1714)
True
>>> anterior_diada(11, 9, 1714)
False
"""