QCM sur la révolution en python


Accueil > Projets > QCM sur la révolution en python

Par Leblanc J., Mula-Carrère B. en novembre 2020

Ce projet a été réalisé par des élèves en spécialité NSI du Lycée Louis Pasteur. Ils sont également les auteurs de ce compte rendu. Pour en savoir plus : Les projets en spécialité NSI

Bonjour nous vous présentons notre QCM qui va vous permettre de réviser le fameu x et l’unique chapitre d’histoire sur la Révolution française.
Tant que vous avez pas 10/10 recommencer... (conseil d’amis.)

Introduction :

Bonjour à toutes et à tous ! Si vous avez cliqué sur ce QCM c’est surement que vous avez des difficultés en Histoire ou, tout simplement que vous voulez réviser votre contrôle sur le chapitre de la Révolution Française.

Bonne démarche, nous vous l’accordons, mais ne voulez-vous pas plutôt savoir comment nous avons réalisé ce QCM en langage python ???

Nous allons détailler le script en Python qui nous a permis de créer ce QCM :

Au début nous avions mis le module suivant, initialement proposé au début d’un code en Python :

  1. from math import *

Mais c’est un module qui est inutile dans notre script, car il permet d’avoir accès aux fonctions mathématiques comme le cosinus (cos), le sinus (sin), la racine carrée (sqrt), le nombre pi (pi) et bien d’autres... Nous n’utilisons pas ces fonctions dans notre script.

De plus, nous avons affiché le titre de notre QCM avec des balises print et en ajoutant des tirés :

  1. print("        _______________")
  2. print("       |                        |")
  3. print("       |  QCM               |")
  4. print("       |  REVOLUTION   |")
  5. print("       |  FRANCAISE      |")
  6. print("       |_______________|")

Télécharger

Nous n’avons pas eu la prétention ni les compétences de faire une couche graphique, néanmoins, voici le rendu qui est plus agréable :

Ensuite, nous avons défini chaque question avec ses 3 réponses associées que nous avons notée de la façon suivante :

his1 pour la première question puis : rpA1 pour la réponse 1, rpB1 pour la question 2 et rpC1 pour la réponse 3. Voici le script que nous avons réécrit pour chaque question. :

  1. # QCM sur la révolution Française        
  2. his1 = " 1.Quelles sont les dates de la période révolutionnaire ? "
  3. his2 = " 2.Que sont les Etats Généraux ?"
  4. his3 = " 3.Quel mot correspond à un droit de vote où il faut payer ? "
  5.  
  6. rpA1 =" 1 : 1789-1799 "
  7. rpA2 =" 1 : Une réunion des représentants des trois ordres"
  8. rpA3 =" 1 : Suffrage universel"
  9.  
  10. rpB1 = " 2 : 1789-1815 "
  11. rpB2 = " 2 : Une réunion des grands pays européens "
  12. rpB3 = " 2 : Suffrage censitaire "
  13.  
  14. rpC1 = " 3 : 1789-1804 "
  15. rpC2 = " 3 : Une réunion entre le roi et ses ministres "
  16. rpC3 = " 3 : Referendum "
  17.  
  18. score = 0

Télécharger

le (#) permet d’écrire un commentaire. Tout le texte qui suit le symbole ne sera pas visible sur la page finale. Il permet de mieux se repérer dans le script et de le rendre plus lisible.

Puis nous avons créé un système de score qui permet à l’utilisateur de connaitre le nombre de points qu’il aura eu a la fin du QCM.

Nous allons voir à présent comment nous avons codé chaque question :

  1. #question1
  2.  
  3. print(his1)
  4. print(rpA1)
  5. print(rpB1)
  6. print(rpC1)
  7.    

Télécharger

Tout d’abord, nous avons mis 4 balises print suivies du nom de la question, et des 3 réponses que nous avons définies plus haut entre parenthèses. Cette balise print va afficher la question et les réponses à l’utilisateur.

  1. rep= int(input ("Entre la bonne reponse :  " ))
  2. rpcorrecte = 2

Télécharger

Ensuite nous avons mis une balise "int" pour que l’utilisateur puisse écrire, et donc interagir avec le QCM, puis une balise "input" pour spécifier que la réponse sera sous la forme de chiffre (1,2 ou 3). Si l’utilisateur se croit plus malin que nous en tapant un autre nombre, la question lui sera automatiquement comptée comme fausse.

Enfin, pour continuer sur le système de score avec le code suivant :

  1. if rep != rpcorrecte:
  2.     print("FAUX")
  3. else :
  4.     print("Juste, c'est que la première question !")
  5.     score = score + 1
  6.  

Télécharger

Aucun point ne sera ajouté au score, et une balise "print" annoncera à l’utilisateur que sa réponse est incorrecte. Cependant, avec la balise "else", si l’utilisateur entre la bonne réponse, il y aura 1 point de plus au score.

Voici le rendu sur la calculatrice :

Voila comment se construit chaque question de notre QCM en variant les réponses pour que la forme de notre QCM soit plus ludique.

Nous avons donc répété ce script jusqu’à la question 10.

Pour terminer nous annonçons le score obtenu par l’utilisateur :

  1. print ("tu as obtenu",score, "points")

Puis quelques réponses personnalisées selon le score de l’utilisateur :

  1. if score ==4:
  2.     print ("Grrrrr à 1 point de la moyenne")
  3. if score ==5:
  4.     print ("Bien joué, tu as obtenu la moyenne")
  5. if score >5:
  6.     print ("C'est bien ça !")
  7. if score ==9:
  8.     print ("A 1 point d'avoir tout juste, décevant...")
  9. if score ==10:
  10.     print ("CARTON PLEIN ! C'est moins bien que 11...")
  11. else:
  12.     print ("Continue à réviser, tu vas y arriver")
  13.  
  14. #fin du QCM

Télécharger

Et voici le rendu sur la Calculatrice :

Conclusion :

J’espère que vous avez apprécié les explications que nous avons faites sur la réalisation de notre script.
Il pourra surement vous aider à réviser et à créer votre propre QCM !
Bonnes révisions, et ne mettez pas le script sur votre calculatrice, nous avons installé un virus... ;)

Télécharger et tester

Serveur Workshop de NumWorks tiplanet.org nsi.xyz
Remarques Permet un téléchargement rapide sur la calculatrice Téléchargement .py Téléchargement .zip
Liens hypertextes lien NumWorks > Physique > Lien
qcm_revolution_fr.py.zip (ZIP - 1.6 ko)
qcm_revolution_fr.py.zip

Mots-clés