Comment récupérer mon entrée pour afficher jours fériés

Fermé
tatal21820 Messages postés 35 Date d'inscription vendredi 6 mai 2022 Statut Membre Dernière intervention 2 septembre 2023 - 6 mai 2022 à 15:48
jee pee Messages postés 39899 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 2 juillet 2024 - 6 mai 2022 à 16:50
Bonjour à tous,
Je suis nouveau, je bloque avec mon programme, je voudrais récupérer mon entrée pour afficher mes jour fériés à la place de année = 2019 (ligne 134)
d avance merci
# -*- coding: utf-8 -*-

from tkinter import *
from time import strftime
import locale
from datetime import datetime
from datetime import timedelta
from datetime import time
import datetime

locale.setlocale(locale.LC_ALL, 'fr_FR')


def createWin1():
    win = Toplevel(master)
    win.title("1er.Semestre")
    win.geometry("480x360")
    win.minsize(780, 360)
    win.iconbitmap("gdata_icon.ico")
    win.config(background='#1CB6D7')


def createWin2():
    win2 = Toplevel(master)
    win2.title("2ième.Semestre")
    win2.geometry("480x360")
    win2.minsize(780, 360)
    win2.iconbitmap("gdata_icon.ico")
    win2.config(background='#DAF7A6')


def createWin3():
    win3 = Toplevel(master)
    win3.title("Paramètre")
    win3.geometry("780x360")
    win3.minsize(780, 360)
    win3.iconbitmap("gdata_icon.ico")
    win3.config(background='#BB8FCE')


def createWin4():
    win4 = Toplevel(frm1)
    win4.title("Selection Année")

    win4.geometry("150x100")
    win4.iconbitmap("gdata_icon.ico")
    win4.config(background='#5D6D7E')

    def action():
        lblResultat['text'] = champNom.get()

    ok = Button(win4, text="Valide", command=action)

    btn_quit = Button(win4, text="Quitter", command=win4.destroy)
    btn_quit.place(x=80, y=70)
    lbl_ent_an = Label(win4, text="Entrer Année", font='Arial 15', fg='WHITE', bg='#5D6D7E')
    lbl_ent_an.place(x=10, y=0)
    champNom = Entry(win4)
    lblResultat = Label(frm1, text="", font='Arial 30', relief=FLAT, fg='WHITE', bg='#F39C12')
    champNom.place(x=10, y=40)
    lblResultat.place(x=920, y=15)
    ok.place(x=15, y=70)


master = Tk()

master.bind("<F11")
master.title("Tableau de bord")  # Nom de la fenêtre
master.geometry("1890x1000")  # Dimentions de la fenêtre
master.minsize(780, 360)  # Dimentions minimum de la fenêtre
master.iconbitmap("gdata_icon.ico")
master.config(background='#F39C12')

frm1 = LabelFrame(master, text='Année', font='Arial 20', fg='WHITE', bg='#F39C12', height=100, relief=GROOVE)
frm1.pack(fill=BOTH, padx=20)
frm2 = LabelFrame(master, text='Navigation', font='Arial 10', fg='WHITE', bg='#F39C12', height=80, relief=GROOVE)
frm2.pack(side="bottom", fill=BOTH, padx=20, pady=10)
frm3 = LabelFrame(master, text='Récapitulatif', font='Arial 20', fg='WHITE', bg='#F39C12', height=50, relief=GROOVE)
frm3.pack(side="right", expand=True, fill=BOTH, padx=20)
frm4 = LabelFrame(master, text='Fêtes', font='Arial 20', fg='WHITE', bg='#F39C12', height=50, relief=GROOVE)
frm4.pack(side="left", expand=True, fill=BOTH, padx=20)

dat = datetime.datetime.now().strftime('%A %d %B')

btn1 = Button(frm2, text="1er.Semestre", command=createWin1)
btn1.place(x=150, y=10)
btn2 = Button(frm2, text="2ième.Semestre", command=createWin2)
btn2.place(x=300, y=10)
btn3 = Button(frm2, text="Paramètres", command=createWin3)
btn3.place(x=450, y=10)
date_aujourdhui = Label(frm1, text=dat, font='Arial 25', relief=FLAT, fg='WHITE',
                        bg='#F39C12')

date_aujourdhui.pack(side='left', padx=50, pady=0)
btn_select_annee = Button(frm1, text="Année :", command=createWin4, font='Arial 30', relief=FLAT, fg='WHITE',
                          bg='#F39C12')
btn_select_annee.pack(side='left', padx=400, pady=0)


def time():
    string = strftime('%H:%M:%S')
    lbl_horl.config(text=string)
    lbl_horl.after(1000, time)


lbl_horl = Label(frm2, font=('calibri', 20, 'bold'), background='#F39C12', foreground='white')
lbl_horl.place(x=1700, y=7)
lbl_bisex = Label(frm1, text="Bisextille", font='Arial 30', relief=FLAT, fg='WHITE', bg='#F39C12')
lbl_bisex.place(x=1600, y=15)

time()


def Paques(annee):
    """Calcul du Dimanche de Pâques par l'algorithme de Oudin"""

    g, b, c = annee % 19, annee + (annee // 4), annee // 100
    c4, e = c // 4, (8 * c + 13) // 25
    h = (19 * g + c - c4 - e + 15) % 30
    k, p, q = h // 28, (h + 1) // 13, (21 - g) // 11
    i = (k * p * q - 1) * k + h
    j1 = (b + i + 2 + c4) - c
    j2 = j1 % 7
    r = 28 + i - j2
    return (4, r - 31) if r > 31 else (3, r)


fetes = ["Jour de l'an", "Pâques", "Lundi de Pâques", "Fête du taravail", "Victoire 1945",
         "Ascension", "Pentecôte", "Lundi de Pentecôte", "14 Juillet",
         "L'Assomption", "La Toussaint", "Armistice", "Noël"]
for jour in fetes:
    print(jour)

annee = 2019
(m, j) = Paques(annee)
ferie_1 = datetime.date(annee, 1, 1)  # Jour de l'an
ferie_2 = datetime.date(annee, m, j)  # Pâques
ferie_3 = ferie_2 + timedelta(days=+1)  # Lundi de pâques
ferie_4 = datetime.date(annee, 5, 1)  # Fête du travail
ferie_5 = datetime.date(annee, 5, 8)  # Victoire 1945
ferie_6 = ferie_2 + timedelta(days=+39)  # ascension
ferie_7 = ferie_2 + timedelta(days=+49)  # Pentecôte
ferie_8 = ferie_7 + timedelta(days=+1)  # Lundi de pentecôte
ferie_9 = datetime.date(annee, 7, 14)  # fête nationale
ferie_10 = datetime.date(annee, 8, 15)  # Assomption
ferie_11 = datetime.date(annee, 11, 1)  # Toussaint
ferie_12 = datetime.date(annee, 11, 11)  # Armistice
ferie_13 = datetime.date(annee, 12, 25)  # Noël

a = [ferie_1, ferie_2, ferie_3, ferie_4, ferie_5, ferie_6, ferie_7, ferie_8, ferie_9, ferie_10, ferie_11, ferie_12,
     ferie_13]

for x in a:
    print(x.strftime('%A %d %B'), end="\n")

master.mainloop()



Configuration: Windows / Chrome 101.0.4951.54

2 réponses

jee pee Messages postés 39899 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 2 juillet 2024 9 246
Modifié le 6 mai 2022 à 16:02
Bonjour,

Demander à l'utilisateur quelle année il veut traiter ???

Alors remplacer
annee = 2019

par
annee = int(input("Année à traiter ? ")) 


0
tatal21820 Messages postés 35 Date d'inscription vendredi 6 mai 2022 Statut Membre Dernière intervention 2 septembre 2023
6 mai 2022 à 16:41
un grand merci à toi.
du coup ma fenêtre ne veut plus s'ouvrir me met " tableau de bord ne répond pas"
0
jee pee Messages postés 39899 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 2 juillet 2024 9 246
6 mai 2022 à 16:50
tu places l'input en ligne 13
0