|
|
|
@ -1,18 +1,26 @@ |
|
|
|
# https://82.96.134.49/[...] |
|
|
|
import tkinter as tk |
|
|
|
|
|
|
|
def separerListe(nombres): |
|
|
|
"""Fonction permettant de séparer une chaine de caractere et de convertir ses elements en |
|
|
|
nombres entiers et utilise la fonction plusGrand pour trouver le plus grand nombre |
|
|
|
et renvoie 1 si la liste fait plus de 10 nombres.""" |
|
|
|
lstSepare = nombres.split(" ") |
|
|
|
lstInt = [] |
|
|
|
for i in range(len(lstSepare)): |
|
|
|
nombreTempo = lstSepare[i] |
|
|
|
lstInt += [int(nombreTempo)] |
|
|
|
if i+1>10: |
|
|
|
return lstInt , plusGrand(lstInt) , 10 , 1 |
|
|
|
return lstInt , plusGrand(lstInt) , len(lstInt) , 0 |
|
|
|
|
|
|
|
def plusGrand(lst): |
|
|
|
"""Fonction permettant de trouver le plus grand nombre d'une liste de taille |
|
|
|
maximum 10.""" |
|
|
|
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)): |
|
|
|
if maxint<int(lst[i]): |
|
|
|
maxint = int(lst[i]) |
|
|
|
maxint = lst[0] |
|
|
|
for i in range(1,len(lst)): |
|
|
|
if maxint<lst[i]: |
|
|
|
maxint = lst[i] |
|
|
|
return maxint |
|
|
|
|
|
|
|
def validerNombres(): |
|
|
|
@ -20,13 +28,11 @@ def validerNombres(): |
|
|
|
donnés par l'utilisateur.""" |
|
|
|
caneva.delete("all") |
|
|
|
erreur.configure(text="") |
|
|
|
nombres_separe = nombres.get().split(" ") |
|
|
|
maxNombres = plusGrand(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 |
|
|
|
nombres_separe, maxNombres , longueurListe, plusDe10= separerListe(nombres.get()) |
|
|
|
if plusDe10==1: |
|
|
|
erreur.configure(text="Vous avez inséré plus que 10 nombres,"\ |
|
|
|
" seul 10 sont affichés") |
|
|
|
for i in range(longueurListe): |
|
|
|
if 0<=int(nombres_separe[i])/maxNombres<0.25: |
|
|
|
couleur = '#7ef968' |
|
|
|
elif 0.25<=int(nombres_separe[i])/maxNombres<0.5: |
|
|
|
@ -43,11 +49,10 @@ fenetre = tk.Tk() |
|
|
|
fenetre.geometry('460x440') |
|
|
|
fenetre['bg'] = "#fffcfc" |
|
|
|
fenetre.title('Graphique proportionnel de 10 nombes - Sujet n°6') |
|
|
|
|
|
|
|
caneva = tk.Canvas(fenetre,height = 300,width=440,bg="#fffcfc") |
|
|
|
caneva.grid(column = 1, columnspan = 4,padx=10,pady=10) |
|
|
|
|
|
|
|
label = tk.Label(fenetre, text = 'Entrez au maximum 10 nombres entiers strictement ' \ |
|
|
|
label = tk.Label(fenetre, text = 'Entrez au maximum 10 nombres entiers strictement '\ |
|
|
|
'positifs' ,bg = "#fffcfc",font='Noto 10') |
|
|
|
label.grid(column = 1, columnspan = 4) |
|
|
|
|
|
|
|
@ -59,6 +64,7 @@ boutonValider =tk.Button(fenetre,text='Valider les nombres', |
|
|
|
command=validerNombres,bg="#fffcfc",font='Noto 10') |
|
|
|
boutonValider.grid(column = 2, columnspan = 2) |
|
|
|
messerreur = tk.StringVar() |
|
|
|
|
|
|
|
erreur = tk.Label(fenetre,fg='red',bg="#fffcfc",font='Noto 7 bold') |
|
|
|
erreur.grid(column=1,columnspan=4,row=5) |
|
|
|
|
|
|
|
|