calendrier.py

Created by ph-moutou

Created on April 21, 2018

1.35 KB

Ce programme donne les jours de la semaine qui contient et qui suit le jour entré. la fonction jourSemaine(j,m,a) détermine le jour de la semaine d’une date donnée tandis que calendrier(j,m,a) génère la liste des jours en français.


#jourSemaine determine le jour de la semaine d'une date donnee posterieure au 01/01/00
#Lundi=0, Mardi=1,Mercredi=2,Jeudi=3,Vendredi=4,Samedi=5,Dimanche=6
#calendrier donne les jours de la semaine qui suit le jour entre
def calendrier(j,m,a):
    if a%4==0:long[1]=29
    semaine,jour,mois,annee=[],j,m,2000+a
    while len(semaine)<7:
        semaine.append([nom_jours[(len(semaine)+JS)%7],str(jour),nom_mois[mois-1],str(annee)])
        jour+=1
        if jour>long[mois-1]:
            mois+=1
            jour=1
            if mois==13:
                mois=1
                annee+=1
    return semaine

def jourSemaine(j,m,a):
    an,mo,jo=0,1,5 #le 1er janvier 2000 etait un samedi (j=5)
    while an<a:
        if an%4==0:jo+=366
        else:jo+=365
        an+=1
    while mo<m:
        if a%4==0 and mo==2:jo+=long[mo-1]+1
        else:jo+=long[mo-1]
        mo+=1
    jo+=j-1
    return jo%7

jourJ,moisM,anA=27,12,18 #entrer ici la date du jour desire (apres le 01/01/00)
long=[31,28,31,30,31,30,31,31,30,31,30,31]
nom_jours=['Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi','Dimanche']
nom_mois=['janvier','fevrier','mars','avril','mai','juin','juillet','aout'
            ,'septembre','octobre','novembre','decembre']
JS=jourSemaine(jourJ,moisM,anA)
Cal=calendrier(jourJ,moisM,anA)
for i in range(7):
    print(" ".join(Cal[i]))
    print(" ... ")