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

Dernier changement

parent ff720219
......@@ -33,7 +33,7 @@ from sys import argv
from Cube import Cube
from lire_entree import lecture_cube
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
SHORTCUTS = "shortcuts.json"
import matplotlib.pyplot as plt
from Cube import *
from algo import algo_cfop
import json
from lire_entree import lecture_cube
from stats import moyenne
from algo import *
JEU_TEST = 'tests/samples/sample-600.json'
import json
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
for i in liste:
moyenne += i
......@@ -23,3 +28,29 @@ def ecart_moyen(liste):
ecart_moyen += fabs(i-moy)
return ecart_moyen/len(liste)
def mediane(liste):
if len(liste)%2==0:
return moyenne([liste[int((len(liste)/2)-1)],liste[int(len(liste)/2)]])
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:
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