Browse Source

Ajout de la fonction separerListe pour rendre le code plus lisible

master
LEENAERTS Denis 4 weeks ago
parent
commit
5153d90317
  1. 38
      Miniprojet.py

38
Miniprojet.py

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

Loading…
Cancel
Save