import tkinter as tk def transfoEnInt(groupe): """Prend en parametre un tuple ou une liste de réels de type str et renvoie une liste de réels de type int""" lst = [] for elements in groupe: lst += [int(elements)] return lst def lecture(nomFichier): """Prend en parametre le nom du fichier csv à lire et renvoie un tableau.""" with open(nomFichier, 'r') as fichier: fichier_nettoye = [] for ligne in fichier: fichier_nettoye += [ligne.strip()] return fichier_nettoye def estBissextile(annee): """prend en compte une annee à verifier si elle est bissextile et renvoie True si elle l'est et False sinon""" return annee%4 == 0 and annee%100 != 0 or annee%400 == 0 def numeroJour(date): """Prend en parametre une date au format aaaa-mm-jj et renvoie un entier correspondant au numero du jour correspondant (de 1 à 365)""" dateSeparee = transfoEnInt(date.split('-')) totalJours = 0 JoursMois = [31,28,30,31,30,31,31,30,31,30,31] #Nombre de jours de chaques mois for i in range(dateSeparee[1]-1): totalJours += JoursMois[i] if estBissextile(dateSeparee[0]) and totalJours + dateSeparee[2] >= 60 and dateSeparee[1] > 2: #regarde si on est dans une année bissextile et apres fevrier totalJours += 1 return totalJours + dateSeparee[2] def distance(Tuple1 , Tuple2): """prend en parametre 2 tuples avec (Numéro du jour, Température moyenne, température de référence) et renvoie la distance **euclidienne**""" lst1 = transfoEnInt(Tuple1) lst2 = transfoEnInt(Tuple2) return lst1[0]-lst2[0] + lst1[1]-lst2[1] + lst1[2]-lst2[2] def kPlusProches(point,lstRepre): """Prend en parametre un tuple avec (Numéro du jour, Température moyenne, température de référence) correspondant au point à verifier, une liste de tuples de meme type et la consommation electrique Renvoie une liste triée en fonction de la distance avec le""" fenetre = tk.Tk() fenetre.title("pour l'instant je sais pas quoi (FEUR) mettre") canva = tk.Canvas(fenetre, width = 400, height = 300, bg = "springgreen") canva.grid() value = tk.StringVar() value.set("taper le nombre de voisin (k) voulu") entree=tk.Entry(fenetre, textvariable=value, width=30) entree.grid() entree.bind("