Informatique

Question

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 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 u

1 Réponse

  • 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

    Image en pièce jointe de la réponse Legrandu48