CREER UN EMPLOI DU TEMPS

yvesdjom19 Messages postés 3 Date d'inscription lundi 29 avril 2024 Statut Membre Dernière intervention 18 juin 2024 - 18 juin 2024 à 18:05

Bonjour a tous, s'il vous plait j'aimerais savoir par ou debuter pour pouvoir generer un bulletin scolaire pour lyceen.

jai pu essayer mais sa ne repond pas a mes attentes (dans un tableau avec la 1ere ligne les jours et la premiere colonne les formats d'heure)

import tkinter as tk
from tkinter import ttk
from tkinter import messagebox
import random

# Définition des variables
jours = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi"]
heures = ["08:00 - 09:00", "09:00 - 10:00", "10:00 - 11:00", "11:00 - 12:00", "13:00 - 14:00", "14:00 - 15:00", "15:00 - 16:00"]
matieres = ["Mathématiques", "Français", "Histoire", "Anglais", "Physique", "Chimie", "Sport"]

# Création de la fenêtre principale
fenetre = tk.Tk()
fenetre.title("Emploi du temps lycéen")

# Création du cadre pour la sélection des matières
cadre_matieres = tk.Frame(fenetre)
cadre_matieres.pack()

# Création des cases à cocher pour les matières
var_matieres = []
for matiere in matieres:
    var_matiere = tk.BooleanVar()
    c_matiere = tk.Checkbutton(cadre_matieres, text=matiere, variable=var_matiere)
    c_matiere.pack()
    var_matieres.append(var_matiere)

# Création du cadre pour la génération de l'emploi du temps
cadre_generation = tk.Frame(fenetre)
cadre_generation.pack()


# Création du cadre pour l'affichage de l'emploi du temps
cadre_affichage = tk.Frame(fenetre)
cadre_affichage.pack()

# Création du tableau pour l'affichage de l'emploi du temps
treeview = ttk.Treeview(cadre_affichage, columns=jours)
treeview.heading("Lundi", text="Lundi")
treeview.heading("Mardi", text="Mardi")
treeview.heading("Mercredi", text="Mercredi")
treeview.heading("Jeudi", text="Jeudi")
treeview.heading("Vendredi", text="Vendredi")
treeview.pack()

# Fonction pour générer l'emploi du temps
def generer_emploi_temps():
    # Récupération des matières sélectionnées
    matieres_selectionnees = []
    for var_matiere, matiere in zip(var_matieres, matieres):
        if var_matiere.get():
            matieres_selectionnees.append(matiere)

    # Génération de l'emploi du temps (remplacer par votre algorithme de génération)
    emploi_temps = []
    for jour in jours:
        journee = []
        for heure in heures:
            if len(matieres_selectionnees) > 0:
                matiere = random.choice(matieres_selectionnees)
                matieres_selectionnees.remove(matiere)
                journee.append(f"{heure}: {matiere}")
            else:
                journee.append("")
        emploi_temps.append(journee)

    # Affichage de l'emploi du temps
    for item in treeview.get_children():
        treeview.delete()
    for i, journee in enumerate(emploi_temps):
        treeview.insert("", tk.END, values=journee)

# Création du bouton de génération
btn_generer = tk.Button(cadre_generation, text="Générer l'emploi du temps", command=generer_emploi_temps)
btn_generer.pack()


# Exécution de la boucle principale
fenetre.mainloop()
Rejoignez-nous