# Calculs sur le Calendrier Grégorien # par Town Ground anciennement Igor Gorovitch # CC - Libre - No Money - Share Alike # Fonction "Nombre jours de l'année" def joursannee(a): nja=365 if a%4==0: nja=nja+1 if a%100==0: nja=nja-1 if a%400==0: nja=nja+1 return(nja) # Fonction "Nombre jours mois année" def defininjm(year): y=year njm=[31,28,31,30,31,30,31,31,30,31,30,31] if joursannee(y)==366: njm[2-1]=29 return(njm) # Fonction "Écart entre 1583 et" def ecart(jo,mo,an): nombrejours=0 jomoan=defininjm(an) ano=1583 while ano12): erreur() jour=int(input("Entrez le jour JJ : ")) jomoan=defininjm(annee) if (jour<1) or (jour>jomoan[mois-1]): erreur() x=ecart(jour,mois,annee) nomjour=["Samedi","Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi"] z=x%7 print("") print("Le jour est",nomjour[z]) corps() # Sous-programme "Entre deux dates" def entredeuxdates(): print("") print("Date 1 :") annee1=int(input("Année 1 AAAA : ")) if annee1<1583: erreur() mois1=int(input("Mois 1 MM : ")) if (mois1<1) or (mois1>12): erreur() jour1=int(input("Jour 1 JJ : ")) jomoan=defininjm(annee1) if (jour1<1) or (jour1>jomoan[mois1-1]): erreur() print("") print("Date 2 :") annee2=int(input("Année 2 AAAA : ")) if annee2<1583: erreur() mois2=int(input("Mois 2 MM : ")) if (mois2<1) or (mois2>12): erreur() jour2=int(input("Jour 2 JJ : ")) jomoan=defininjm(annee2) if (jour2<1) or (jour2>jomoan[mois2-1]): erreur() print("") nbj=ecart(jour2,mois2,annee2)-ecart(jour1,mois1,annee1) print("Il y a",nbj,"jours d'écart.") corps() # Sous-programme "Dans J jours" def dansjjours(): annee=input("Entrez l'année AAAA : ") annee=int(annee) if annee<1583: erreur() mois=input("Entrez le mois MM : ") mois=int(mois) if (mois<1) or (mois>12): erreur() jour=int(input("Entrez le jour JJ : ")) jomoan=defininjm(annee) if (jour<1) or (jour>jomoan[mois-1]): erreur() futur=int(input("Combien de jours plus tard ? ")) if futur<0: erreur() z=1 while z<=futur: jour=jour+1 if jour>jomoan[mois-1]: jour=1 mois=mois+1 if mois>12: mois=1 annee=annee+1 jomoan=defininjm(annee) z=z+1 print("") print("La date est le",jour,"""/""",mois,"""/""",annee) corps() #Corps de démarrage du programme def corps(): global jomoan jomoan=[31,28,31,30,31,30,31,31,30,31,30,31] print("") print("""Fonctionne à partir du 01/01/1583""") print("") print("1 Obtenir le jour de la semaine d'une date") print("2 Nombre de jours entre deux dates") print("3 À partir d'une date, quand serons-nous dans J jours?") print("") choix=input("Votre choix : ") if choix=="": erreur() choix=int(choix) if choix==1: joursemaine() if choix==2: entredeuxdates() if choix==3: dansjjours() erreur() corps()