QCM python

QCM python - Python - Programmation

Marsh Posté le 22-04-2014 à 17:31:00    

Bonsoir,
 
je fais un qcm sur python pour l'ISN dans le cadre du lycée et je bloque depuis longtemps dessus ... c'est un casse tete !
Quand je lance mon programme, l'invite de commande me dit "Appuyez sur une touche pour continuer".
 
Je ne vois pas du tout d'où ça vient, j'ai modifié et re-modifié le programme mais rien à faire ! cela ne marche pas ...  :pfff:  
 
Voici mon programme :
 
 
 

Citation :

# -*- coding: utf-8 -*-
 
from math import*
 
import random
 
#Listes + variable
 
compteur=0
nombre_de_question=0
 
 
liste_questions=["Question  : Quelle est la capitale du Liban ?\n ","Question  : Quand l'armistice de la seconde Guerre Mondiale a-t-elle été signée ? ","Question  : Quelle est la capitale de l'Estonie /n? ","Question  : Quelle est la langue maternelle la plus parlée au monde ? \n","Question  : Quelle est la langue officielle au Nigeria \n?","Question  : Qui a réalisé le père noel est une ordure ? \n","Question  : Quel est l'état le plus grand des Etats-Unis ?","Question  : Qui a écrit l'Assommoir ? \n","Question  : La pénicilline a été découverte par : \n","Question  : Le premier président de la République était : \n","Question  : En quelle année ont été créées les régions ? \n","Question : Que collectionne un conchyophile ? \n","Question  : Quelle est la ville la plus peuplée du monde ? \n","Question  : Quelle formule mathématique permet d'établir les développements limités ? \n","Question  : Quel évènement a marqué l'année 1935 ? \n","Question : Quelle est la hauteur de la Tour Eiffel ? \n","Question  : Quel est l'organe le plus volumineux et le plus massif parmi ceux-ci ? \n","Question : En quelle année Neil Amstrong a-t-il posé le premier pas sur la lune ? \n","Question : Quel chanteur fait partie des Rolling Stones ? \n","Question : Quelle équipe de football a remporté la première coupe du monde en 1930 ? \n"]
liste_choix=['1) Beyrouth,2) Damas,3) Rabat ','1) 8 mai 1945,2) 11 novemble 1945,3) 18 juin 1940 ','1) Riga,2) Tallin,3) Vilnius','1) L anglais , 2) L espagnol , 3) le chinois mandarin ','1) L anglais,2) Le nigerian,3) L afrikaans ','1) Coline Serreau,2) Gerard Oury,3) Jean Marie Poiré ','1) Le Texas,2) L Alaska,3) Le Montana ','1) Stendhal,2) Flaubert,3) Zola ','1) Ian Fleming,2) Alexander Fleming,3) Marie Curie ','1) R.Coty,2) A.Pinay,3) V.Auriol ','1) 1806,2) 1956,3) 1901 ','1) Des bières,2) des coquillages,3) Des animaux empaillés ','1) Tokyo,2) Mexico,3) New York ','1) Schrodinger,2) Crutz,3) Taylor ','1) Les lois sociales du Front populaire,2) Lois de Nüremberg,3) Hitler chancelier ','1) 250 mètres,2) 324 mètres,3) 295 mètres ','1) Le foie,2) L estomac,3) Le colon ','1) 1967,2) 1969,3) 1971 ','1) Jonh Lennon,2) Mick Jagger,3) Brian Johnson ','1) Italie",2) Brésil,3) Uruguay ']
liste_reponse=[1,1,2,3,1,3,2,3,2,3,2,2,1,3,2,2,1,2,2,3]
 
#début du programme  
 
def quest():
 global compteur
 print("Commençons !\n " )
 
#boucle  
 
 while liste_questions :
   
   
#n = un terme de la liste aléatoirement  
 
  n=random.randint(0,len (liste_questions)-1)
  print (liste_questions[n])
  print (liste_choix[n])
  Q=int(input("quel numéros choississez-vous ?\n" ))
  if Q == liste_reponse[n] :
    compteur = compteur +1  
   
#suppression du terme n dans la liste  
   
  liste_questions.pop(n)
  liste_choix.pop(n)
  liste_reponse.pop(n)
 
 print ("c'est finis" )
   
   
   
#système de notes + commentaire :  
 
 print("Note:" )
 if compteur == 20 :
  print ("20/20...Que pouvons nous dire... si ce n'est BRAVO" )  
 
 elif 19>=compteur>=16 :
  print ("19/20 C'est presque excellent... Courage ! Le succes est au bout du chemin." )
   
 elif 15>=compteur>=12 :
  print ("Tu as entre 12/20 et 15/20. Ne sois pas modeste, tu peux mieux faire !" )
 
 elif 11>=compteur>=10 :
  print ("Tu as entre 10/20 et 11/20. Il faut tra-vai-ller !" )
   
 elif 9>=compteur>=6 :
  print ("Tu as entre 6/20 et 9/20. Tu sais ce qu'il te reste à faire ..." )
 
 elif 5>=compteur>=0 :
  print ("Tu as en dessous de 5/20... Sans commentaire..." )
 
 
   
 
#~ else :
 #~ print (" A une prochaine fois" )  
 
 

Reply

Marsh Posté le 22-04-2014 à 17:31:00   

Reply

Marsh Posté le 22-04-2014 à 19:42:59    

lpd_t a écrit :

Je ne vois pas du tout d'où ça vient, j'ai modifié et re-modifié le programme mais rien à faire ! cela ne marche pas ...  :pfff:


T'as songé à appeler la fonction quest à un moment?

 

Accessoirement, dans la préface à la première édition de Structure and Interpretation of Computer Programs, Abelson écrit que "programs must be written for people to read, and only incidentally for machines to execute. Le listing donné ici échoue notablement, aussi bien au niveau de son style que de son formattage :/


Message édité par masklinn le 22-04-2014 à 19:44:45

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 28-04-2014 à 09:22:07    

Bonjour
C'est dommage d'avoir séparé les questions, les choix et les réponses. Si tu veux en rajouter ou en supprimer une, ça devient vite galère...

Code :
  1. liste_question=(
  2.    {
  3.        "question" : "Quelle est la capitale du Liban",
  4.        "choix" : "1) Beyrouth,2) Damas,3) Rabat",
  5.        "reponse" : 1,
  6.    },
  7.    {
  8.        "question" : "Quand l'armistice de la seconde Guerre Mondiale a-t-elle été signée ?",
  9.        "choix" : "1) 8 mai 1945, 2) 11 novembre 1945, 3) 18 juin 1940",
  10.        "reponse" : 1,
  11.    },
  12.    ...
  13. )


 
Pareil pour la notation, c'est vraiment du bricolage tous ces elif...

Code :
  1. for n in (
  2.    {
  3.        "niveau" : 20,
  4.        "appreciation" : "bravo",
  5.    },
  6.    {
  7.        "niveau" : 16,
  8.        "appreciation" : "presque excellent",
  9.    },
  10.    {
  11.        "niveau" : 12,
  12.        "appreciation" : "peut mieux faire",
  13.    },
  14.    ...
  15. ):
  16.    if note >= n["niveau"]:
  17.        print "%d/20 - %s" % (note, n["appreciation"])
  18.        break
  19. # for


Message édité par Sve@r le 28-04-2014 à 09:31:38

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed