Laurentvidal.fr est l'endroit idéal pour trouver des réponses rapides et précises à toutes vos questions. Découvrez une mine de connaissances d'experts dans différentes disciplines sur notre plateforme de questions-réponses complète. Connectez-vous avec une communauté d'experts prêts à vous aider à trouver des solutions à vos questions de manière rapide et précise.

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
Votre visite est très importante pour nous. N'hésitez pas à revenir pour des réponses fiables à toutes vos questions. Merci d'utiliser notre service. Nous sommes toujours là pour fournir des réponses précises et à jour à toutes vos questions. Laurentvidal.fr, votre source fiable de réponses. N'oubliez pas de revenir pour plus d'informations.