Commit e70b3e30 authored by Tom MARRUCCI's avatar Tom MARRUCCI
Browse files

Dernier changement

parent ff720219
...@@ -33,7 +33,7 @@ from sys import argv ...@@ -33,7 +33,7 @@ from sys import argv
from Cube import Cube from Cube import Cube
from lire_entree import lecture_cube from lire_entree import lecture_cube
from utils import croix_valide, ftl_valide, cfop_valide from utils import croix_valide, ftl_valide, cfop_valide
from stats import moyenne,ecart_type #from stats import moyenne, ecart_type
from utils import croix_valide, ftl_valide, cfop_valide, replace_sublist from utils import croix_valide, ftl_valide, cfop_valide, replace_sublist
SHORTCUTS = "shortcuts.json" SHORTCUTS = "shortcuts.json"
......
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
from Cube import * from Cube import *
from algo import algo_cfop
import json import json
from lire_entree import lecture_cube from lire_entree import lecture_cube
from stats import moyenne from stats import moyenne
from algo import *
JEU_TEST = 'tests/samples/sample-600.json' JEU_TEST = 'tests/samples/sample-600.json'
......
import json
from math import sqrt,fabs from math import sqrt,fabs
from Cube import *
from lire_entree import lecture_cube
from algo import algo_cfop
import statistics
def moyenne (liste): def moyenne(liste):
moyenne = 0 moyenne = 0
for i in liste: for i in liste:
moyenne += i moyenne += i
return moyenne/len(liste) return moyenne/len(liste)
def variance(liste): def variance(liste):
variance = 0 variance = 0
moy = moyenne(liste) moy = moyenne(liste)
for i in liste: for i in liste:
variance += (i-moy)*(i-moy) variance += (i-moy)*(i-moy)
return variance/len(liste) return variance/len(liste)
def ecart_type(liste): def ecart_type(liste):
return sqrt(variance(liste)) return sqrt(variance(liste))
def ecart_moyen(liste): def ecart_moyen(liste):
ecart_moyen = 0 ecart_moyen = 0
moy = moyenne(liste) moy = moyenne(liste)
for i in liste: for i in liste:
ecart_moyen += fabs(i-moy) ecart_moyen += fabs(i-moy)
return ecart_moyen/len(liste) return ecart_moyen/len(liste)
def mediane(liste):
liste.sort()
if len(liste)%2==0:
return moyenne([liste[int((len(liste)/2)-1)],liste[int(len(liste)/2)]])
else:
return liste[int(len(liste)/2).__round__(2)]
def getOccurencesTests(jeu_test):
with open(jeu_test) as data_file: #on parse le jeu de test JSON
data = json.load(data_file)
tests = data["cubes"]
listeNbMouvements = [] # dictionnaire pour stocké en clé : nbMouvement et en valeur : Occurence sur les n tests
for test in tests: # on parcours tout les cubes
b,c = lecture_cube(test)
c,mouv = algo_cfop(c) # on fais l'algo
if len(mouv) not in listeNbMouvements:
listeNbMouvements.append(len(mouv))
return listeNbMouvements
listeNbMouvements = getOccurencesTests('tests/samples/sample-600.json')
print("Nombre de mouvement minimum : "+str(min(listeNbMouvements)))
print("Nombre de mouvement maximum : "+str(max(listeNbMouvements)))
print("Moyenne : "+str(moyenne(listeNbMouvements)))
print("Médiane : "+str(mediane(listeNbMouvements)))
print("Écart-type : "+str(ecart_type(listeNbMouvements)))
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment