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. 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?
  2. 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. 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 !