Bonjours a tous serais ce possible d'avoir de l'aide pour mon programme de fin d'année isn j'aimerais transformer les chiffres du mastermind en couleurs mais je ne sait pas comment faire merci d'avance.
- Mastermind
- Ce programme cache k couleurs dans n cases et indique au joueur
- combien de couleurs sont bien ou mal placées.
from random import*
def cache(n,k): # cache k couleurs dans n cases
s=[]
i=0
while i<n:
s.append(randrange(1,k+1))
i=i+1
return s
def to_list(s): # transforme une chaine en une liste
liste=[]
i=0
while i<len(s):
liste.append(int(s[i]))
i=i+1
return liste
def noirs(proposition,solution): # indique le nombre de couleurs bien places.
bien=0 # nombre de noirs
i=0
while i < cases:
if proposition[i]==solution[i]:
bien=bien+1
proposition[i]='y' # pour éviter des compter plusieurs fois une même couleur,
solution[i]='x' # on remplace ces chiffres par des lettres
i=i+1
return bien
def blancs(proposition,solution): # indique le nombre de couleurs mal places.
i=0
mal=0 # nombre de blancs
while i<cases:
j=0
while j<cases:
if proposition[i]==solution[j]:
mal=mal+1
proposition[i]='y' # idem que pour la fonction "noirs"
solution[j]='x'
j=j+1
i=i+1
return mal
def copie(liste): # copie "liste" dans "copy"
copy=[]
i=0
while i<len(liste):
copy.append(liste[i])
i=i+1
return copy
- Programme principal
cases=4
couleurs=6
essai_max=10
essai=0
sol = cache(cases,couleurs)
nb_biens=0
nb_mals=0
copie_prop = []
copie_sol = []
print("vous avez",essai_max,"essais")
print()
while nb_biens<cases and essai<essai_max:
essai=essai+1
print("essai",essai)
prop=to_list(input('Entrez votre proposition: '))
copie_prop=copie(prop)
copie_sol=copie(sol)
nb_biens=noirs(copie_prop, copie_sol)
print(nb_biens,'bien placé(s)')
nb_mals=blancs(copie_prop, copie_sol)
print(nb_mals, 'mal placé(s)')
print()
if nb_biens==cases:
print("Bravo !")
else:
print("La réponse était",sol)