You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
2.1 KiB
59 lines
2.1 KiB
7 months ago
|
#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()
|