2018-2019/PreStSauveur/2nd/Algo/Tri/tri_max.py

39 lines
1.1 KiB
Python
Raw Normal View History

##### Initialisation
# la zone pioche
pioche = [101011, 110111, 100111, 101010, 101100]
# la zone défausse
defausse = []
# la zone triée
triees = []
##### Tri
# tant qu'il reste des nombres dans cartes
# len compte les éléments d'une liste
while len(pioche) > 0:
# Tant qu'il y a des cartes dans la pioche
# On prend la première carte grâce au .pop()
carte_max = pioche.pop()
# On va la comparer avec toutes les autres
while len(pioche) > 0:
# On prend une autre carte
carte = pioche.pop()
if carte_max > carte:
# Si elle est plus petit, on l'ajoute dans la defausse
defausse.append(carte)
else:
# Sinon c'est l'autre qu'on defausse
defausse.append(carte_max)
# et on garde la carte tirée dans la main
carte_max = carte
# On ajoute la carte max dans les cartes triées
triees.append(carte_max)
# La defausse redevient la pioche
pioche = defausse
# On vide la defausse
defausse = []
##### Fin
# On affiche les cartes triées
print(triees)