Browse Source

Ajout d'effets graphiques et d'une exeption si il y a >10 nombres

master
LEENAERTS Denis 4 weeks ago
parent
commit
40586f69d7
  1. 28
      Miniprojet.py

28
Miniprojet.py

@ -3,6 +3,11 @@ import tkinter as tk
def plusGrand(lst): def plusGrand(lst):
maxint = int(lst[0]) maxint = int(lst[0])
if len(lst) >= 10:
for i in range(1,10):
if maxint<int(lst[i]):
maxint = int(lst[i])
else:
for i in range(1,len(lst)): for i in range(1,len(lst)):
if maxint<int(lst[i]): if maxint<int(lst[i]):
maxint = int(lst[i]) maxint = int(lst[i])
@ -10,9 +15,14 @@ def plusGrand(lst):
def validerNombres(): def validerNombres():
caneva.delete("all") caneva.delete("all")
erreur.configure(text="")
nombres_separe = nombres.get().split(" ") nombres_separe = nombres.get().split(" ")
maxNombres = plusGrand(nombres_separe) maxNombres = plusGrand(nombres_separe)
for i in range(len(nombres_separe)): for i in range(len(nombres_separe)):
if i>=10:
erreur.configure(text="Vous avez inséré plus que 10 nombres,"\
" seul les 10 premiers sont pris en compte")
return 0
if 0<=int(nombres_separe[i])/maxNombres<0.25: if 0<=int(nombres_separe[i])/maxNombres<0.25:
couleur = '#7ef968' couleur = '#7ef968'
elif 0.25<=int(nombres_separe[i])/maxNombres<0.5: elif 0.25<=int(nombres_separe[i])/maxNombres<0.5:
@ -21,22 +31,20 @@ def validerNombres():
couleur = '#fc9d3f' couleur = '#fc9d3f'
else: else:
couleur = '#fc5555' couleur = '#fc5555'
caneva.create_rectangle(40*i+20,300-300*int(nombres_separe[i])/maxNombres caneva.create_rectangle(40*i+30,300-300*int(nombres_separe[i])/maxNombres
,40*i+40,300,fill=couleur) ,40*i+50,300,fill=couleur)
print(300*int(nombres_separe[i])/maxNombres)
print(maxNombres,nombres_separe)
fenetre = tk.Tk() fenetre = tk.Tk()
fenetre.geometry('460x400') fenetre.geometry('460x440')
fenetre['bg'] = "#fdf0f0" fenetre['bg'] = "#fdf0f0"
fenetre.title('Graphique proportionnel de 10 nombes - Sujet n6')
caneva = tk.Canvas(fenetre,height = 300,width=440,bg="#f0e3e3") caneva = tk.Canvas(fenetre,height = 300,width=440,bg="#f0e3e3")
caneva.grid(column = 1, columnspan = 4,padx=10,pady=10) caneva.grid(column = 1, columnspan = 4,padx=10,pady=10)
label = tk.Label(fenetre, text = 'Entrez au maximum 10 nombres entiers positifs', label = tk.Label(fenetre, text = 'Entrez au maximum 10 nombres entiers positifs',
bg = "#fdf0f0") bg = "#fdf0f0",font='Noto 10')
label.grid(column = 1, columnspan = 4) label.grid(column = 1, columnspan = 4)
nombres = tk.StringVar() nombres = tk.StringVar()
@ -44,8 +52,10 @@ entree = tk.Entry(fenetre, textvariable= nombres , width =50)
entree.grid(column = 1, columnspan =4) entree.grid(column = 1, columnspan =4)
boutonValider =tk.Button(fenetre,text='Valider les nombres', boutonValider =tk.Button(fenetre,text='Valider les nombres',
command=validerNombres,bg="#fdf0f0") command=validerNombres,bg="#fdf0f0",font='Noto 10')
boutonValider.grid(column = 2, columnspan = 2) boutonValider.grid(column = 2, columnspan = 2)
messerreur = tk.StringVar()
erreur = tk.Label(fenetre,fg='red',bg="#fdf0f0",font='Noto 8 bold')
erreur.grid(column=1,columnspan=4,row=5)
fenetre.mainloop() fenetre.mainloop()
Loading…
Cancel
Save