Factorisation boucle 'for'
Résolu/Fermé
A voir également:
- Factorisation boucle 'for'
- Download instagram for pc - Télécharger - Divers Communication
- Saveaspdf.exe for office 2007 - Télécharger - Bureautique
- Copytrans heic for windows - Télécharger - Visionnage & Diaporama
- Idm for mac - Télécharger - Téléchargement & Transfert
- Safari for windows - Télécharger - Navigateurs
8 réponses
Whismeril
Messages postés
19026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
20 avril 2024
931
15 oct. 2018 à 18:46
15 oct. 2018 à 18:46
Bonsoir,
est ce que dans ton code, il n'y aurait pas une partie répétitive ou la seule différence est un nombre?
est ce que dans ton code, il n'y aurait pas une partie répétitive ou la seule différence est un nombre?
J'ai en effet une boucle while au début. Je donne le code en entier pour que cela soit plus simple:
code = [c1,c2,c3,c4] print('votre code est:') print(code) cl_bienplace = 0 #conteur de tour nb_detour = 0 #demande de la combinaison au joueur while cl_bienplace < 4: cl_bon = 0 cl_bienplace = 0 print('rentrez votre hypothèse')<code> e1 = input('première couleur: ') e2 = input('deuxième couleur: ') e3 =input('troisième couleur: ') e4 =input('quatrième couleur: ') essai = [e1,e2,e3,e4] #détermination des couleurs présentes mais mal placé if (essai[0]) in code: cl_bon = cl_bon+1 if (essai[1]) in code: cl_bon = cl_bon+1 if (essai[2]) in code: cl_bon = cl_bon+1 if (essai[3]) in code: cl_bon = cl_bon+1 #détermination de couleur bien placé if (essai[0]) == (code[0]): cl_bienplace = cl_bienplace+1 cl_bon = cl_bon-1 if (essai[1]) == (code[1]): cl_bienplace = cl_bienplace+1 cl_bon = cl_bon-1 if (essai[2]) == (code[2]): cl_bienplace = cl_bienplace+1 cl_bon = cl_bon-1 if (essai[3]) == (code[3]): cl_bienplace = cl_bienplace+1 cl_bon = cl_bon-1 print('___________________________') print('tu as'), print(cl_bon), print('bonnes couleurs mais au mauvais endroit') print('___________________________') print('tu as'), print(cl_bienplace), print('bonne couleurs au bon endroit') print('___________________________') nb_detour = nb_detour+1
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
15 oct. 2018 à 19:18
15 oct. 2018 à 19:18
Bonjour
C'est au niveau de la variable
Que tu peux passer dans une boucle... au lieu de faire
C'est au niveau de la variable
essai[...]
Que tu peux passer dans une boucle... au lieu de faire
essai[0]
essai[1]
essai[etc...]
Whismeril
Messages postés
19026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
20 avril 2024
931
Modifié le 15 oct. 2018 à 19:38
Modifié le 15 oct. 2018 à 19:38
En fait ton while, ne nous apporte rien, pour la question actuelle.
Ton prof t'as demandé de factoriser avec un for.
Je t'ai ciblé "large" la partie à travailler et Jordane a resserré la zone.
Quel intérêt a un for?
Ton prof t'as demandé de factoriser avec un for.
Je t'ai ciblé "large" la partie à travailler et Jordane a resserré la zone.
Quel intérêt a un for?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
D'accord je pense savoir, il faut utiliser
Mais par contre on a pas vu comment faire avec des lettres... je vais essayer de trouver une solution quand même. Merci en tous cas
for essaie in range(...)
Mais par contre on a pas vu comment faire avec des lettres... je vais essayer de trouver une solution quand même. Merci en tous cas
Whismeril
Messages postés
19026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
20 avril 2024
931
15 oct. 2018 à 20:41
15 oct. 2018 à 20:41
Pourquoi avec des lettres?
Et arrête de mettre +1 à chacune de nos réponses ça n'a aucun interêt.
+1 c'est quand tu as solutionné ton problème.
Et arrête de mettre +1 à chacune de nos réponses ça n'a aucun interêt.
+1 c'est quand tu as solutionné ton problème.
J'ai effectivement oublié de dire que les couleurs dans mon exercices doivent être remplacées par des lettres.
Et ok je n'étais pas au courant.
Et ok je n'étais pas au courant.
jordane45
Messages postés
38144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2024
4 650
Modifié le 15 oct. 2018 à 21:34
Modifié le 15 oct. 2018 à 21:34
Je vais te formuler en français ce que devrait être ta boucle...
Sachant que les couleurs a comparer sont stockées dans la variable essai...
Pour chaque essai je regarde si dans code puis si à la bonne place.
Sachant que les couleurs a comparer sont stockées dans la variable essai...
Pour chaque essai je regarde si dans code puis si à la bonne place.
Whismeril
Messages postés
19026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
20 avril 2024
931
15 oct. 2018 à 22:36
15 oct. 2018 à 22:36
ou encore
pour une variable i variant de 0 à 3
si essai[i] == code[i] alors...
Whismeril
Messages postés
19026
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
20 avril 2024
931
16 oct. 2018 à 20:01
16 oct. 2018 à 20:01
Ha voilà en réfléchissant un peu.
Pour gagner un peu de temps à taper, ceci
Pour gagner un peu de temps à taper, ceci
cl_bienplace = cl_bienplace + 1peut se contracter
cl_bienplace += 1+= veut dire "lui même + ce qui est à droite".