|
@ -25,28 +25,35 @@ def lecture(fichier): |
|
|
|
|
|
|
|
|
def estBissextile(an): |
|
|
def estBissextile(an): |
|
|
"""Fonction estBissextile qui prend en paramètre l’année à vérifier et qui renvoie True si elle est bissextile, False sinon""" |
|
|
"""Fonction estBissextile qui prend en paramètre l’année à vérifier et qui renvoie True si elle est bissextile, False sinon""" |
|
|
an_base = an |
|
|
# an_base = an |
|
|
an = an//4 |
|
|
# an = an//4 |
|
|
if an*4 == an_base: |
|
|
# if an*4 == an_base: |
|
|
return True |
|
|
# return True |
|
|
else: |
|
|
# else: |
|
|
return False |
|
|
# return False |
|
|
|
|
|
return an % 4 == 0 |
|
|
def kPlusProches(k,donnees_point,temp_num_jour): |
|
|
|
|
|
|
|
|
def kPlusProches(k,donnees_point,donnees): |
|
|
"""Fonction qui prend en paramètre un tuple correspondant au point à vérifier, |
|
|
"""Fonction qui prend en paramètre un tuple correspondant au point à vérifier, |
|
|
une liste du jeu de données et la conso électrique. Renvoie une liste triée |
|
|
une liste du jeu de données et la conso électrique. Renvoie une liste triée |
|
|
en fonction de la distance dont les éléments sont des tuples.""" |
|
|
en fonction de la distance dont les éléments sont des tuples.""" |
|
|
|
|
|
if k > len(donnees): #par sécurité on réduit k |
|
|
if k > len(temp_num_jour): |
|
|
k = len(donnees) |
|
|
k = len(temp_num_jour) |
|
|
|
|
|
voisin=[] |
|
|
voisin=[] |
|
|
for j in range(k): |
|
|
for i in range(len(donnees)): |
|
|
voisin.append([None]) |
|
|
voisin.append(distance(donnees, donnees_point)) |
|
|
|
|
|
voisin.sorted |
|
|
|
|
|
return [voisins[i] for i in range(k)] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# for j in range(k): |
|
|
|
|
|
# voisin.append([None]) |
|
|
|
|
|
|
|
|
for i in range(len(temp_num_jour)): |
|
|
# for i in range(len(temp_num_jour)): |
|
|
MN = distance(temp_num_jour[i],donnees_point) |
|
|
# MN = distance(temp_num_jour[i],donnees_point) |
|
|
for l in range(k): |
|
|
# for l in range(k): |
|
|
if voisin[l][1] == None or MN<voisin[l][4]: |
|
|
# if voisin[l][1] == None or MN<voisin[l][4]: |
|
|
|
|
|
# pass |
|
|
# print(voisin) |
|
|
# print(voisin) |
|
|
# for m in range(k-l): |
|
|
# for m in range(k-l): |
|
|
# print(voisin) |
|
|
# print(voisin) |
|
@ -128,17 +135,23 @@ def distance(temp_num_jour, donneespoint): |
|
|
"""Fonction qui dit qu'en prenant des points et ben on peut trouver une distance entre 2 point""" |
|
|
"""Fonction qui dit qu'en prenant des points et ben on peut trouver une distance entre 2 point""" |
|
|
x1 = temp_num_jour[0] |
|
|
x1 = temp_num_jour[0] |
|
|
x2 = donneespoint[0] |
|
|
x2 = donneespoint[0] |
|
|
|
|
|
d1 = x1-x2 |
|
|
|
|
|
d2 = 365 - d1 |
|
|
|
|
|
d_final = d1 |
|
|
|
|
|
if d1 > d2: |
|
|
|
|
|
d_final = d2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y1 = temp_num_jour[2] |
|
|
y1 = temp_num_jour[2] |
|
|
y2 = donneespoint[1] |
|
|
y2 = donneespoint[1] |
|
|
z1 = temp_num_jour[3] |
|
|
z1 = temp_num_jour[3] |
|
|
z2 = donneespoint[2] |
|
|
z2 = donneespoint[2] |
|
|
MN = ((x1-x2)**2)+((y1-y2)**2)+((z1-z2)**2) |
|
|
return ((d_final)**2)+((y1-y2)**2)+((z1-z2)**2) |
|
|
return MN |
|
|
|
|
|
|
|
|
|
|
|
def PuissanceMoyenne(lst,distance): |
|
|
def PuissanceMoyenne(lst,dist): |
|
|
"""Calcule la moyenne de distances entre les points """ |
|
|
"""Calcule la moyenne de distances entre les points """ |
|
|
lecture("pic-journalier-consommation.csv") |
|
|
lecture("pic-journalier-consommation.csv") |
|
|
moy = sum() / len() |
|
|
conso_moy = sum() / len() |
|
|
|
|
|
|
|
|
def recup1(): |
|
|
def recup1(): |
|
|
k = 5 #value1.get() |
|
|
k = 5 #value1.get() |
|
|