# -*- coding: ISO-8859-15 -*- from random import shuffle #Transformation d'une chaine en liste (def to_list(s)) chaine = "123456" lst_chaine = list(chaine) print("chaine = ", chaine, " liste = ", lst_chaine) #liste des couleurs initiales lst_init_couleurs = ["bleu", "rouge", "vert", "jaune"] #Copie d'une liste dans une autre liste (def copie(liste):) lst_melange_couleurs = list(lst_init_couleurs) #Mélange aléatoire de la liste (def cache(n,k)) shuffle(lst_melange_couleurs) print(lst_init_couleurs, "couleurs initiales") print(lst_melange_couleurs, "couleurs mélangées") #Controle couleur bien ou mal placée i = 0 for element in lst_init_couleurs: if lst_melange_couleurs[i] == element: print("OK couleur", element, "en position ", i) else: print("KO couleur en position ", i) i += 1
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 rouge(proposition,solution): # indique le nombre de couleurs bien placé. bien=0 # nombre de rouge i=0 while i < cases: if proposition[i]==solution[i]: bien=bien+1 proposition[i]='y' # pour éviter des compter plusieurs fois une meme 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 placé. 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 "rouge" 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 def erreur () : while true : # begin try : a = returnin (input("entrer un nombre réel") except ValueError : print ( "Erreur de saisie, il faut un entier. Recommencez") #end # Programme principal cases=4 couleurs=6 Oange = 1 bleu = 2 vert = 3 jaune = 4 Violt = 5 Fushia = 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=rouge(copie_prop, copie_sol) print(nb_biens,'rouge(s)') nb_mals=blancs(copie_prop, copie_sol) print(nb_mals, 'blanc(s)') print() if nb_biens==cases: print("Bravo !") else: print("La réponse était",sol)