# https://82.96.134.49/[...] import tkinter as tk def graduations(plusGrand): """crée des graduations sur le coté du caneva""" graduations = [0,plusGrand*0.25,plusGrand*0.5,plusGrand*0.75,plusGrand] caneva.create_text(5,7,text=graduations[4]) caneva.create_text(155,7,text='AA') 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 , len(lstInt) , 0 def validerNombres(): """Fonction permettant de créer les rectangles proportionnels aux nombres donnés par l'utilisateur.""" caneva.delete("all") erreur.configure(text="") nombres_separe, longueurListe, plusDe10= separerListe(nombres.get()) maxNombres = max(nombres_separe) 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: couleur = '#e6f968' elif 0.5<=int(nombres_separe[i])/maxNombres<0.75: couleur = '#fc9d3f' else: couleur = '#fc5555' caneva.create_rectangle(40*i+30,300-300*int(nombres_separe[i])/maxNombres ,40*i+50,300,fill=couleur) graduations(maxNombres) fenetre = tk.Tk() fenetre.geometry('500x440') 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=30,pady=10,row = 0,rowspan = 4) label = tk.Label(fenetre, text = 'Entrez au maximum 10 nombres entiers strictement '\ 'positifs' ,bg = "#fffcfc",font='Noto 10') label.grid(column = 1, columnspan = 4) nombres = tk.StringVar() entree = tk.Entry(fenetre, textvariable= nombres , width =50) entree.grid(column = 1, columnspan =4) 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) fenetre.mainloop()