Browse Source

Version retravailler

master
Maxence 2 weeks ago
parent
commit
d2d1f3a22a
  1. 114
      Projets_note.py

114
Projets_note.py

@ -1,5 +1,50 @@
import tkinter as tk
# Vérifie les entrées
def Valid():
"Remplace le nombre a virgule par un float exploitable par python et le rajoute à la liste des notes"
global lst_nombre
# Pour être sûr que l'utilisateur ne fait pas n'importe quoi
# On part du principe que l'utilisateur ne sait pas qu'il faut utiliser des points à la place des virgules
nombre = entrée_notes.get()
nombre = nombre.replace("," , ".")
nombre = float(nombre)
print(nombre)
lst_nombre.append(nombre)
txt_lst_notes.config(text=f"Voici les notes {lst_nombre} !")
# Calcule la note max, min et la moyenne
def Calcul():
"Calcul et affiche la note la plus haute, la plus basse, et la moyenne du groupe"
global lst_nombre
total = 0
nombre_notes = 0
print(lst_nombre)
lst_nombre.sort()
print(lst_nombre)
note_min = lst_nombre[0]
note_max = lst_nombre[-1]
for i in range(len(lst_nombre)):
total += lst_nombre[i]
nombre_notes += 1
moyenne = total/nombre_notes
moyenne = round(moyenne, 1)
# Remplace les textes vides par les notes
txt_note_min.config(text=f"Note la plus basse : {note_min}")
txt_note_max.config(text=f"Note la plus haute : {note_max}")
txt_moyenne.config(text=f"Moyenne du groupe : {moyenne}")
# Effacer les valeurs de la liste
def Effacer():
"Efface toutes les notes pour une nouvelle série de notes"
global lst_nombre
lst_nombre = []
txt_lst_notes.config(text=f"Voici les notes {lst_nombre} !")
txt_note_min.config(text="")
txt_note_max.config(text="")
txt_moyenne.config(text="")
# Configuration de la fenêtre
screen = tk.Tk()
screen.title("Calcul de notes")
@ -11,14 +56,11 @@ lst_nombre = []
# Différents textes présents (ou non) sur la page
#Zone d'entrée pour les nombres
welcome_txt = tk.Label(text="Veuillez entrer des nombres, pour connaitre \n la note la plus basse, la plus haute et la moyenne ! \n Penser à bien vérifier vos nombre avant le calcul !")
welcome_txt = tk.Label(text="Veuillez entrer des nombres, pour connaitre \n la note la plus basse, la plus haute et la moyenne ! \n Penser à bien valider vos nombre avant le calcul !")
welcome_txt.place(relx=0.5, y=70, anchor="center")
zone_texte = tk.Entry(width = 20)
zone_texte.place(relx=0.5, rely=0.5, anchor="center")
warning = tk.Label(text="")
warning.place(relx=0.5, rely=0.4, anchor="center")
entrée_notes = tk.Entry(width = 20)
entrée_notes.place(relx=0.5, rely=0.5, anchor="center")
txt_note_min = tk.Label(text="")
txt_note_min.place(x=0, y=10)
@ -27,60 +69,14 @@ txt_note_max = tk.Label(text="")
txt_note_max.place(x=170, y=10)
txt_moyenne = tk.Label(text="")
txt_moyenne.place(relx=0.5, y=40, anchor="center")
txt_moyenne.place(relx=0.5, y=40, anchor="center")
txt_lst_notes = tk.Label(text="")
txt_lst_notes.place(relx=0.5, rely=0.4, anchor="center")
# Vérifie les entrées
def Verif():
global lst_nombre
global zone_texte
# Pour être sûr que l'utilisateur ne fait pas n'importe quoi
try:
nombre = zone_texte.get()
# On part du principe que l'utilisateur ne sait pas qu'il faut utiliser des points à la place des virgules
nombre = nombre.replace("," , ".")
nombre = float(nombre)
print(nombre)
lst_nombre.append(nombre)
warning.config(text="")
except ValueError:
warning.config(text="Invalide")
# Calcule la note max, min et la moyenne
def Calcul():
global lst_nombre
try:
total = 0
nombre_notes = 0
print(lst_nombre)
lst_nombre.sort()
print(lst_nombre)
note_min = lst_nombre[0]
note_max = lst_nombre[-1]
for i in range(len(lst_nombre)):
total += lst_nombre[i]
nombre_notes += 1
moyenne = total/nombre_notes
moyenne = round(moyenne, 1)
# Remplace les textes vides par les notes
txt_note_min.config(text=f"Note la plus basse : {note_min}")
txt_note_max.config(text=f"Note la plus haute : {note_max}")
txt_moyenne.config(text=f"Moyenne du groupe : {moyenne}")
# Si quelq'un fait calculer une liste vide
except IndexError:
txt_note_min.config(text="")
txt_note_max.config(text="")
txt_moyenne.config(text="")
# Effacer les valeurs de la liste
def Effacer():
global lst_nombre
lst_nombre = []
# Différents bouton qui renvoie aux trois fonctions
bouton_verif = tk.Button(width = 8, height = 3, text = "Vérifier", command=Verif)
bouton_verif = tk.Button(width = 8, height = 3, text = "Vérifier", command=Valid)
bouton_verif.place(relx=0.5, rely=0.7, anchor="center")
bouton_calcul = tk.Button(width = 8, height = 3, text = "Calcul", command=Calcul)
@ -89,4 +85,8 @@ bouton_calcul.place(relx=0.7, rely=0.8,)
bouton_calcul = tk.Button(width = 8, height = 3, text = "Effacer", command=Effacer)
bouton_calcul.place(x=22, rely=0.8,)
screen.mainloop()
help(Valid)
help(Calcul)
help(Effacer)
screen.mainloop()

Loading…
Cancel
Save