import numpy as np
import random as rd
from matplotlib import pyplot as plt


#--- III.1 : UNE SIMULATION
# variables à utiliser
hauteurs = ["7","8","9","10","V","D","R","A"]
couleurs = ["T","K","C","P"]
#--- III.1.a produit

print("-"*40+"test III.1.a")
#.... affichage de votre test ici
#END
#--- III.1.b complexité
# votre réponse ici
#END
#--- III.1.c 
#END
#--- III.1.d vérification jeu de cartes
print("-"*40+"test III.1.d")
# votre affichage de test ici
#END 
#--- III.2.a lCartes
print("-"*40 + "test III.2.a")
# votre affichage de test ici

#END
#--- III.2.b tirerMain

print("-"*40 + "test III.2.b")
# votre affichage de test
#END
#--- III.3.a estCouleur

mainTestCouleur = [('R', 'T'), ('V', 'T'), ('D', 'T'), ('8', 'T'), ('V', 'T')]
print("-"*40 + "test III.3.a")
# votre affichage de test ici :

#END
#--- III.3.b freq

print("-"*40 + "test III.3.b")
# affichage de test ici
#END
#--- III.3.c 
print("-"*40 + "test III.3.c")
# réponse ici

#END
#END

#--- III.2 : CODAGE MINIMAL D'UNE CHAINE
#--- III.1. coupures

L = [1,1,0,0,1,1,1,0,1,1,1]

print("-"*40, "III.2.1")
print(L)
# votre test ici

#END
#--- III.2. CP

L = [1,1,0,0,1,1,1,0,1,1,1]
A = 'aaaaggaadaaa'
print("-"*40, "III.2.2")
# vos tests ici :

#END
#--- III.2.3 : nbits
print("-"*40, "III.2.3")
# vos tests ici :

#END
#--- III.2.4 : nbelem
def nbelem(L) :
    # dictionnaire car on va utiliser un test en "in"
    dico = {}
    for e in L :
        if not e in dico :
            dico[e] = True
    return len(dico)
# chaine pour tester :
chaine = 'aaaaggaadaaa'
print("-"*40, "III.2.4")
# vos tests ici :
#END
#--- III.2.5 ntotalbits
def ntotalbits(S) :
    # combien d'éléments  différents
    nbe = nbelem(S)
    # on en déduit le nombre de bits pour les coder :
    N1 = nbits(nbe)
    # on trouve l'écriture sous la forme [[element, nbr de fois]]
    comp = CP(S)
    # on veut coder les nombres de répétitions, il nous faut 
    # le nombre max de ces répétitions
    N2 = nbits(max([ e[0] for e in comp]))
    return (N1+N2)*len(comp)
#chaine pour tester
chaine = 'aaaaggaadaaa'
print("-"*40, "III.2.5")
# vitre test ici 

#END
#END
