Jeu python

Signaler
-
Messages postés
410
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
12 octobre 2020
-
Bonjour,

Je joue a un jeu, qui consiste a deviner un nombre que l'ordinateur choisi et qu'il nous renvoie le nombre de valeurs a la bonne ou mauvaise place, et il doit nous dire on en combien de coup on a réussi.

J'ai tenté de le faire moi même mais je n'y arrive pas peut-on m'expliquer mes erreurs merci par avance

R = [1,2,5,4] 
 
A = [1,2,2,4]
#A = [2,5,2,2]



VBP = 0
VMP = 0
i=int(input("dis moi un chiffre entre 0000et 7000"))
compteur=0 
i=-1
for i in range(0, len(R)):
    if R[i]==A[i]:
        print("il y a",VBP,"de valeur bien placée")
        VBP += 1
        if R[i] in A[:i]+A[i+1:]:
            print("Il y a",VMB," de valeur mal placée")   
            VMP += 1 
print("Tu as reussi au bout de",compteur,"coups")

3 réponses

Messages postés
12582
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 octobre 2020
700
bonjour,
1) "je n'y arrive pas": peux-tu décrire ce qui se passe?
2) merci d'utiliser les balises de code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Je dois deviner un nombre que l'ordi choisit qui se situe entre 0000 et 7000 en un minimum d'essai.L'ordinateur doit renvoyer quelles valeurs sont a la bonne ou mauvaise place.Le problème est que je suis débutant et que je bloque la dessus.
Messages postés
12582
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 octobre 2020
700 > LUKA
1) si tu ne veux pas rester débutant, je suggère que tu fasses d'abord des exercices plus simples. par exemple, deviner un nombre, et l'ordinateur te répond si le nombre à trouver est plus petit ou plus grand.
2) ton programme fonctionne bien, as-tu un message d'erreur?
3) avant d'écrire le programme, réfléchi à comment obtenir le résultat. comment ferais-tu avec une feuille et un crayon, pour indiquer combien de chiffres sont bien placés et combien mal placés?
Messages postés
413
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
11 octobre 2020
194
Bonjour,
Dans vos prochains messages, pensez à utiliser les balises de code afin de conserver les indentations qui sont primordiales en python. https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

À quoi correspondent les listes R et A ? J'immagine que R contient la solution à trouver, mais je ne comprend pas à quoi sert A.

Quand vous, faites
for i in range(0, len(R)):
vous écrasez la valeur de i qui a été saisie juste avant. Il y a donc un problème à ce niveau là.
Choisissez à quoi sert la variable i, et donnez des noms différents aux variables qui servent à des choses différentes.

Et je vous conseille de faire les choses pas à pas. Oubliez le compteur pour commencer, et rajoutez le seulement quand le reste fonctionnera.
Messages postés
410
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
12 octobre 2020
59
Bonjour,

Effectivement, tu saisi un nombre et tu le mets dans la variable i :

i=int(input("dis moi un chiffre entre 0 et 7000"))


et tout de suite après tu écrase i et le mettant égal à -1
i=-1

donc le nombre saisi est passé à la trappe !