1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| # Extrait toutes les cartes d'une certaine couleur
extract_couleur=lambda main, couleur: tuple(x["valeur"] for x in main if x["couleur"] == couleur)
# Retourne les extrêmes (min/max) d'un tableau de valeurs
def extreme_valeur(valeur):
# Pour personnaliser la comparaison de deux valeurs (sera utile quand on aura des valeurs comme "joker", etc)
def comp(x, y):
if int(x) < int(y): return -1
if int(x) > int(y): return 1
return 0
# comp()
# Tri du tableau des valeurs selon la fonction de comparaison
res=sorted(valeur, comp)
# Renvoie le min et le max
return (res[0], res[-1])
# extreme_valeur()
main_ia=[{'valeur': '7', 'couleur': 'b'}, {'valeur': '2', 'couleur': 'v'}, {'valeur': '4', 'couleur': 'v'}, {'valeur': '1', 'couleur': 'v'}, {'valeur': '6', 'couleur': 'v'}, {'valeur': '2', 'couleur': 'j'}, {'valeur': '3', 'couleur': 'v'}]
# Test (nb de cartes d'une certaine valeur)
print len(extract_couleur(main_ia, "b"))
print len(extract_couleur(main_ia, "j"))
print len(extract_couleur(main_ia, "v"))
# Les extrèmes d'une couleur
print extreme_valeur(extract_couleur(main_ia, "v")) |