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
Question
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.
1 Réponse
-
1. Réponse Legrandu48
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
Autres questions