by ggauny@live.fr » 03 Apr 2021, 08:51
Bonjour,
Voilà un exemple récent. Merci beaucoup de tenter de voir ce qu'il se passe.
J'ai la notice logiciel élève en français donc pas de problème de compréhension.
Je pense, comme l'indique le mode d'emploi, pouvoir écrire également un programme sur le PC (dans le logiciel) et le transférer dans
mon ordipoche. Pas de problème avec mes Primes, mais là....
Je dois avoir "loupé" quelque chose en effet.
Je commence à bien me mettre à python et j'avance bien dans mes transpositions "fonctions calendaires".
Bon weekend et bonnes Pâques.
Gérard GAUNY.
- Code python : Select all
TEXTE = ("Fonctions calendaires :")
P, I, = print, input
def menu():
P(TEXTE)
P("1. Date vers JDN")
P("2. JDN vers date")
P("3. JDS, jour de la semaine")
P("4. Menu")
P("0. Sortie du programme")
C = int(input("Veuillez entrer votre choix avec 1, 2, 3, 4 ou 0 : => "))
if C==0:
P("Fin")
elif C==1:
d2j(n)
elif C==2:
print("vous avez opté pour la fonction j2d(jdn) : tapez j2d(jdn) : => ")
elif C==3:
JDS()
elif C==4:
menu()
from math import *
def j2d(jdn):
z=an=a=b=c=E=0
d=j=m=an=s=0
R=1
if jdn<0 or jdn>5373484:
raise Exception("jdn indéfini car hors limites de validité")
z=int(jdn)
a=int((z-1867216.25)/36524.25)
an=z+1+a-int(a/4)
if z<2299161:
an=z
b=an+1524; c=int((b-122.1)/365.25);
d= int(365.25*c); E=int((b-d)/30.6001);
j=b-d-int(30.6001*E)
if E<14:
m=E-1
if E==14 or E==15:
m=E-13
if m<3:
an=c-4715
if m>2:
an=c-4716
if an<0:
R=-1
s=R*(fabs(j)+ fabs(m/100)+ fabs(an/1000000))
s=round(s,7)
print(s)