From 12cf038cccc2b465a847564d6eb5a21d80209d20 Mon Sep 17 00:00:00 2001 From: "laura.dumontet" Date: Mon, 29 Apr 2024 10:43:11 +0200 Subject: [PATCH] commit --- Laura_sujet_1.py | 59 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 Laura_sujet_1.py diff --git a/Laura_sujet_1.py b/Laura_sujet_1.py new file mode 100644 index 0000000..c0bee69 --- /dev/null +++ b/Laura_sujet_1.py @@ -0,0 +1,59 @@ +#Sujet 1 : vous devez réaliser une interface graphique constituée de : +#• un Entry pour pouvoir saisir des notes (float) +#• un bouton valider qui sera associé à une fonction memo permettant de mémoriser les valeurs saisies (dans uneliste au départ vide). +#On entre les notes une par une dans le même Entry. +#• un bouton calcul associé à une fonction calcul qui calcule la moyenne des notes, la plus haute et la plus basse. +#Ces information sont ensuite affichées dans la fenêtre grâce à des Label. +import tkinter as tk + +fenetre = tk.Tk() +fenetre.geometry("300x200") +fenetre.title("Interface graphique") + + +note = tk.StringVar() +lst = [] + +saisie = tk.Label(fenetre, text="Saisir notes") +saisie.grid(row=0, column=1) + +entree = tk.Entry(fenetre, textvariable=note) +entree.grid(row=1, column=1) + + +# Création des fonctions + + +def memo(): + '''Fonction pour mémoriser les notes saisies dans une liste''' + notes = float(note.get()) + lst.append(notes) + note.set("") # Effacer l'entrée après validation + +def calcul(): + '''Fonction pour calculer la moyenne, la note la plus haute et la note la plus basse''' + if lst: # Vérifier si la liste n'est pas vide + moyenne = sum(lst) / len(lst) + plus_haute = max(lst) + plus_basse = min(lst) + resultat = f"Moyenne : {moyenne:.2f}, Plus haute : {plus_haute:.2f}, Plus basse : {plus_basse:.2f}" + # le f permet de mettre des variables dans une chaine de caractères sans avoir a faire de concatenation avec des + tout en donnant un nombre de chiffres après la virgule + tk.Label(fenetre, text=resultat).grid(row=4, column=1) + else: + tk.Label(fenetre, text="Aucune note saisie").grid(row=4, column=1) + + + +# Création des boutons + + +button_valider = tk.Button(fenetre, text="Valider", command=memo) +button_valider.grid(row=2, column=1) + +button_calcul = tk.Button(fenetre, text="Calcul", command=calcul) +button_calcul.grid(row=3, column=1) + +button_quitter = tk.Button(fenetre, text="Quitter", command=fenetre.quit, bg="red", relief=tk.SUNKEN, activebackground="blue") +button_quitter.grid(row=5, column=1) + +fenetre.mainloop() \ No newline at end of file