Jeu python

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

  1. 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 !
    1. 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.
      1. Contributeur
        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
        1. 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.
        2. Contributeur
          @LUKA1) 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?