Bonjour j'ai besoin de votre aide à propos d'un exo en NSI s'il vous plaît
Le but de l'exercice est : Écrire une fonction qui donne le jour de la semaine pour une date comprise entre le 1er Janvier 2000 et le 31 Décembre 2006.
Je vous remercie d'avance pour votre réponse.​


Bonjour Jai Besoin De Votre Aide À Propos Dun Exo En NSI Sil Vous PlaîtLe But De Lexercice Est Écrire Une Fonction Qui Donne Le Jour De La Semaine Pour Une Date class=

Sagot :

Réponse :

Explications :

Bonjour,

voir en pièce jointe :

si question passez par les commentaires !!

Proposition de programme :

from math import floor

from datetime import date, datetime

def  jour(q, m ,a):

   if 2006 >= a >= 2000: # verie si la date donnée est dans les limites 200 - 2006

       date_fixe = date(2000, 1, 1)

       date_entree = date(a, m, q)

       j = ((date(a, m, q) - date(2000, 1, 1)).days) %7

       mois = ["Décembre"," Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre" ,"Octobre", "Novembre", "Décembre"]

       jour = ["Samedi","Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi","Vendredi"]

       print()

       print("Le jour correspondant au",q, mois[m],a,"est un",jour[j] )

   else:

      print()

      print("La date doit être comprise entre le 1 Janvier 2000 et le 31 Décembre 2006")

jour(31, 12, 1999)

jour(31, 12, 2005)

jour(29, 2, 2004)

jour(28, 2, 2003)

jour(11, 7, 2001)

jour(11, 4, 2004)

jour(29, 2, 2000)

jour(1, 1, 2007)

-----------------

remarque :

dans l'expression : j = ((date(a, m, q) - date(2000, 1, 1)).days) %7

(date(a, m, q) - date(2000, 1, 1)  = calcule le nombre de jour et les heures

ex : 700 days, 0:00:00

((date(a, m, q) - date(2000, 1, 1)).days)  = calcule le nombre de jour sans les heures

ex : 700

((date(a, m, q) - date(2000, 1, 1)).days) %7 = le chiffre donne la position du jour

ex : 0 = samedi

View image LEGRANDU48