Sujet à faire en groupe :
Correction :
On suppose que l’utilisateur ne fait pas d’erreur de saisie.
[pastacode lang= »python » manual= »%23%20Jeu%20du%20MasterMind%0A%0Aimport%20random%0A%0A%23%20Cr%C3%A9ation%20d’une%20liste%20avec%20les%20valeurs%20possibles%0Acouleurs%20%3D%20%5B’R’%2C’J’%2C’V’%2C’O’%2C’B’%2C’F’%5D%0A%0Adef%20TirageCouleur(nbrCouleurs%2C%20doublon)%3A%0A%20%20%20%20couleursTirage%3D%5B%5D%0A%20%20%20%20if%20(doublon)%3A%0A%20%20%20%20%20%20%20%20for%20rep%20in%20range(0%2CnbrCouleurs)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20couleursTirage.append(random.choice(couleurs))%0A%20%20%20%20else%3A%0A%20%20%20%20%20%20%20%20while%20len(couleursTirage)%20!%3D%20nbrCouleurs%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%23%20On%20fait%20un%20tirage%0A%20%20%20%20%20%20%20%20%20%20%20%20couleur%20%3D%20random.choice(couleurs)%0A%20%20%20%20%20%20%20%20%20%20%20%20%23%20On%20regarde%20si%20la%20couleur%20est%20d%C3%A9j%C3%A0%20dans%20le%20tableau%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20(%20couleur%20not%20in%20couleursTirage%20)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23%20c’est%20bon%20on%20ajoute%20au%20tableau%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20couleursTirage.append(couleur)%0A%20%20%20%20print%20(couleursTirage)%0A%20%20%20%20return%20couleursTirage%0A%0Adef%20BonnesBP(comb1%2C%20comb2)%3A%0A%20%20%20%20bp%3D0%0A%20%20%20%20for%20i%20in%20range(0%2Clen(comb1))%3A%0A%20%20%20%20%20%20%20%20if%20(comb1%5Bi%5D%20%3D%3D%20comb2%5Bi%5D)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20bp%3Dbp%2B1%0A%20%20%20%20return%20bp%0A%0Adef%20BonnesMP(comb1%2C%20comb2)%3A%0A%20%20%20%20mp%3D0%0A%20%20%20%20comb1%3Dlist(comb1)%0A%20%20%20%20comb2%3Dlist(comb2)%0A%20%20%20%20%23%20on%20retire%20les%20bons%20%C3%A9l%C3%A9ments%20bien%20plac%C3%A9s%0A%20%20%20%20taille%20%3D%20len(comb1)%0A%20%20%20%20i%3D0%0A%20%20%20%20comp%3D0%0A%20%20%20%20while%20comp%3C4%3A%0A%20%20%20%20%20%20%20%20if%20(comb1%5Bi%5D%20%3D%3D%20comb2%5Bi%5D)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20comb1.remove(comb1%5Bi%5D)%0A%20%20%20%20%20%20%20%20%20%20%20%20comb2.remove(comb2%5Bi%5D)%0A%20%20%20%20%20%20%20%20%20%20%20%20%23%20comme%20on%20suprime%20un%20%C3%A9l%C3%A9ment%20on%20n’avance%20pas%20l’indice%0A%20%20%20%20%20%20%20%20%20%20%20%20i%3Di-1%0A%20%20%20%20%20%20%20%20comp%3Dcomp%2B1%20%23%20une%20comparaison%20de%20plus%0A%20%20%20%20%20%20%20%20i%3Di%2B1%0A%20%20%20%20for%20e%20in%20comb1%3A%0A%20%20%20%20%20%20%20%20if%20(e%20in%20comb2)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20mp%3Dmp%2B1%0A%20%20%20%20%20%20%20%20%20%20%20%20comb2.remove(e)%0A%20%20%20%20return%20mp%0A%0A%23%20tirage%20de%20l’ordinateur%0AcombinaisonOrdi%20%3D%20TirageCouleur(4%2CTrue)%0A%0Agagne%20%3D%20False%0Aessai%20%3D%200%0Awhile%20gagne%3D%3DFalse%20and%20essai%3C3%3A%0A%20%20%20%20%23demande%20du%20choix%20de%20l’utilisateur%0A%20%20%20%20combinaison%20%3D%20input(%22Donner%20votre%20combinaison%20de%204%20couleurs%20%5BR%2CJ%2CV%2CO%2CB%2CF%5D%22)%0A%0A%20%20%20%20print(%22Bonnes%20couleurs%20bien%20plac%C3%A9es%20%3A%22%2CBonnesBP(combinaison%2CcombinaisonOrdi))%0A%20%20%20%20print(%22Bonnes%20couleurs%20mal%20plac%C3%A9es%20%3A%22%2CBonnesMP(combinaison%2CcombinaisonOrdi))%0A%0A%20%20%20%20if%20(BonnesBP(combinaison%2CcombinaisonOrdi)%20%3D%3D%204)%3A%0A%20%20%20%20%20%20%20%20gagne%3DTrue%0A%20%20%20%20else%20%3A%0A%20%20%20%20%20%20%20%20essai%20%3D%20essai%20%2B%201%0A%0Aif%20(gagne)%3A%0A%20%20%20%20print(%22Bravo%20!%22)%0Aelse%3A%0A%20%20%20%20print(%22Vous%20avez%20perdu%20!%22)%0A%20%20%20%20print%20(%22La%20combinaison%20%C3%A0%20trouver%20%C3%A9tait%3A%22)%0A%20%20%20%20for%20element%20in%20combinaisonOrdi%3A%0A%20%20%20%20%20%20%20%20print(element)%0A%0A%0A%0A%0A%0A%0A%0A » message= » » highlight= » » provider= »manual »/]
Ce contenu est réservé aux membres du site. Si vous êtes un utilisateur existant, veuillez vous connecter. Les nouveaux utilisateurs peuvent s'inscrire ci-dessous.