Partage
  • Partager sur Facebook
  • Partager sur Twitter

Projet d'ISN

Sujet résolu
Anonyme
    23 mars 2015 à 17:57:06

    Bonsoir, 

    Je suis actuellement en terminale et doit réaliser un projet qui consiste en quelque sorte en un mini-test de culture. Nous sommes désormais à la 4e semaine de projet et je dois maintenant commencer à coder mon projet.

    Pour l'instant, j'ai créer une liste de question et une liste appelé corrigé. Mais, j'aimerai savoir comment fait-on pour créer une boucle qui affiche les questions une par une dés que l'utilisateur à répondu, car pour l'instant, dés que je lance ma boucle, celle ci affiche toute les question à la suite.

    J'espère avoir était précise, merci d'avance pour vos réponse.

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      23 mars 2015 à 18:18:07

      Tu déclares une variable nouvelleQuestion par exemple. Si cette nouvelleQuestion == True alors tu affiches une nouvelle question. Si nouvelleQuestion == False, pas de nouvelle question.Tu arriverais ainsi à un code du genre :

      nouvelleQuestion = True
      while nouvelleQuestion:
            # affiche 1 question
            # l'utilisateur répond
            nouvelleQuestion = False #quand tu arrives au nombre n de tes questions
            

      En espérant que j'ai pu t'aider ;)

      -
      Edité par Anonyme 23 mars 2015 à 18:19:24

      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        23 mars 2015 à 18:19:55

        Merci beaucoup,

        je vais essayer de faire ce que je souhaite avec sa en espérant que sa fonctionne. =)

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          23 mars 2015 à 18:58:32

          Sinon tu peux simplement faire ça:

          questions = ["En quelle année s'est déroulé la bataille de Marignan ?", "Quelles sont les dix premiers chiffres significatifs de pi ?"]
          reponses = ["1515", "3.141592653"]
          
          points = 0
          
          for question, reponse in zip(questions, reponses):
              reponse_utilisateur = input(question)
              if reponse_utilisateur == reponse:
                  points += 1

          Mais ici je pense qu'il est plus pertinent d'utiliser des dictionnaires:

          quizz = {
              "En quelle année s'est déroulé la bataille de Marignan ?": '1515',
              "Quelles sont les dix premiers chiffres significatifs de pi ?": '3.141592653'
          }
          
          points = 0
          
          for question, reponse in quizz.items():
              reponse_utilisateur = input(question)
              if reponse_utilisateur == question:
                  points += 1

          Et si tu tiens à l'ordre des questions, tu peux toujours utiliser la classe `OrderedDict` du module `collections`.

          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            23 mars 2015 à 20:10:47

            On peut aussi créer un fichier questions.txt et un fichier reponses.txt, ça évite de remplir de texte en brut dans le script...

            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              23 mars 2015 à 20:17:38

              D' accord, mercibeaucoup pour vos messages sa va m'aider. :)
              • Partager sur Facebook
              • Partager sur Twitter

              Projet d'ISN

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown