Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#26 03-07-2020 18:08:04
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 907
Re : python, fonction produit
Re,
Le 09/08/2020 est le 222e jour de l'année
Le 09/08/2018 est le 221e jour de l'année
@+
Arx Tarpeia Capitoli proxima...
Hors ligne
#27 04-07-2020 14:41:29
- freddy
- Membre chevronné
- Lieu : Paris
- Inscription : 27-03-2009
- Messages : 7 457
Re : python, fonction produit
Salut,
petite question : tu ne testes pas l'hypothèse de date un peu farfelu, genre 29.02.2019 ou bien 32.MM.YYYY ou bien encore, DD.13.YYYY ?, par suite d'une erreur de saisie ?
On alors, on fait l'hypothèse que c'est vérifié dès le début, je ne sais.
Sinon, c'est à peu près comme ça que j'aurais fait aussi :-) mais j'aurais plutôt utilisé une table genre [0, 31, 59, …, 335] et pointé sur table(mois-1). Mais rien d'exceptionnel.
De la considération des obstacles vient l’échec, des moyens, la réussite.
Hors ligne
#28 05-07-2020 10:13:28
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 907
Re : python, fonction produit
Re,
Ça devrait se faire, mais ça rallonge pas mal la sauce...
J'ai utilisé sum parce que le questionnement était placé après une réponse à Golgup où j'évoquais son emploi, sinon, oui, les sommes sont comme tu le suggères, déjà faites dans le prog de calendrier perpétuel...
Je ne l'ai volontairement pas fait : c'était la réponse - simple - à la problématique de Tuidiama (qu'on ne reverra pas).
Si c'est une réponse destinée au "grand public", alors je m'y colle comme dans mon calendrier perpétuel...
Bon, alors si tu as vu, je peux sortir le script du spoiler :
def ajoute_un_jour(an,mois):
bis= 1 if mois>2 and ((an % 400 == 0) or (an % 4 ==0 and not an % 100==0)) else 0
return bis
def NumJour(j,m,a):
Jours_Mois=[0,31,28,31,30,31,30,31,31,30,31,30]
NumJour=sum(Jours_Mois[:m])+j+ajoute_un_jour(a,m)
return NumJour
j,m,a=9,8,2020
jma=str(j).zfill(2)+"/"+str(m).zfill(2)+"/"+str(a)
print("Le "+jma+" est le "+str(NumJour(j,m,a))+"er"[:1+(j*m==1)]+" jour de l'année")
Je n'étais pas non plus obligé de créer une 2e fonction ajoute_un jour, je pouvais insérer la ligne de détermination, tout de suite après la déclaration de la fonction Numjour.
C'était dans un souci pédagogique, pour lui montrer - sans le dire - qu'une fonction peut en appeler une autre, lui passer des paramètres, récupérer le résultat et l'exploiter...
@+
Arx Tarpeia Capitoli proxima...
Hors ligne