Comment trouver une suite de poker dans une liste
Résolu/Fermé
Saens
Messages postés
10
Date d'inscription
lundi 27 novembre 2017
Statut
Membre
Dernière intervention
28 novembre 2017
-
Modifié le 27 nov. 2017 à 01:13
Saens Messages postés 10 Date d'inscription lundi 27 novembre 2017 Statut Membre Dernière intervention 28 novembre 2017 - 27 nov. 2017 à 20:20
Saens Messages postés 10 Date d'inscription lundi 27 novembre 2017 Statut Membre Dernière intervention 28 novembre 2017 - 27 nov. 2017 à 20:20
A voir également:
- Comment trouver une suite de poker dans une liste
- Liste déroulante excel - Guide
- Trouver adresse mac - Guide
- Trouver une adresse - Guide
- Comment trouver le mot de passe wifi sur son téléphone - Guide
- Liste déroulante en cascade - Guide
2 réponses
yg_be
Messages postés
23408
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 décembre 2024
Ambassadeur
1 557
27 nov. 2017 à 08:06
27 nov. 2017 à 08:06
bonjour, pourquoi penses-tu que pour i=3 suite deviendra faux? à quelle ligne devient-il faux?
Saens
Messages postés
10
Date d'inscription
lundi 27 novembre 2017
Statut
Membre
Dernière intervention
28 novembre 2017
1
27 nov. 2017 à 19:45
27 nov. 2017 à 19:45
J'ai trouvé une solution :
def est_suite(table):
lis = liste_valeur(table)
lis.sort()
lis = supp_elem_recurr(lis)
suite_0 = False
suite_1 = False
suite_2 = False
if len(lis) < 5 :
suite = False
elif 1 in lis and 10 in lis and 11 in lis and 12 in lis and 13 in lis :
suite = True
else :
for i in range(len(lis)-4):
if lis[i] == lis[i+1]-1 == lis[i+2]-2 == lis[i+3]-3 == lis[i+4]-4 :
if i == 0:
suite_0 = True
elif i == 1:
suite_1 = True
elif i == 2:
suite_2 = True
if suite_0 or suite_1 or suite_2:
suite = True
else:
suite = False
return suite
table c'est les 7 couples de cartes recues.
liste_valeur() est une liste avec que les valeurs numériques des cartes (on retire les couleurs)
supp_elem_recurr(lis) supprime les doublons dans la liste
def est_suite(table):
lis = liste_valeur(table)
lis.sort()
lis = supp_elem_recurr(lis)
suite_0 = False
suite_1 = False
suite_2 = False
if len(lis) < 5 :
suite = False
elif 1 in lis and 10 in lis and 11 in lis and 12 in lis and 13 in lis :
suite = True
else :
for i in range(len(lis)-4):
if lis[i] == lis[i+1]-1 == lis[i+2]-2 == lis[i+3]-3 == lis[i+4]-4 :
if i == 0:
suite_0 = True
elif i == 1:
suite_1 = True
elif i == 2:
suite_2 = True
if suite_0 or suite_1 or suite_2:
suite = True
else:
suite = False
return suite
table c'est les 7 couples de cartes recues.
liste_valeur() est une liste avec que les valeurs numériques des cartes (on retire les couleurs)
supp_elem_recurr(lis) supprime les doublons dans la liste
yg_be
Messages postés
23408
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 décembre 2024
1 557
27 nov. 2017 à 19:47
27 nov. 2017 à 19:47
pourquoi faire simple quand on peut faire compliqué?
peux-tu marquer comme résolu?
peux-tu marquer comme résolu?
Saens
Messages postés
10
Date d'inscription
lundi 27 novembre 2017
Statut
Membre
Dernière intervention
28 novembre 2017
1
27 nov. 2017 à 20:20
27 nov. 2017 à 20:20
ta solution n'est pas correcte. Si il trouve une suite qu'au début et plus à la fin, la fonction va renvoyer False
27 nov. 2017 à 11:23
else :
suite = False
avec le dernier if.
Imaginon que les 5 premieres cartes soient une suite et les 2 dernieres non. Mon programme va detecter la suite mais il va continuer de regarder plus loin. Et au final, il dira que suite = False , car la suite ne fait pas partie des 5 dernieres cartes
27 nov. 2017 à 19:28