👤

Bonsoir,
J'aimerais réaliser un QCM avec un programme python pour se faire j'ai repris celui d'un de mes camarades mais il y a une erreur en effet, je n'arrive pas à rentrer ma réponse sans que le programme fonctionne ..
Est-il possible que vous m'aidiez ?
Voici le programme :import random
#Questions Globales # la répétition correspond a la bonne réponse

print(" Taper la bonne réponse A,B ou C ( ne pas oublier les majuscules , c'est une série de 10 questions . Si vous répondez autre chose que A B C le programme plantera il faudra le relancer . " )


Question = [["Quelle est la capitale de la France ?","A :Nantes","B :Paris","C :Marseilles","B :Paris"],
["Quel est le plus grand océan du monde ? ","A :Le Pacifique","B :L'Atlantique","C :La mer Noire","A :Le Pacifique"],
["Avec quel pays la France n'a t-elle aucune frontière ?","A :Autriche","B :Belgique","C :Monaco","A :Autriche"],
["Dans quelle ville ce trouve le pont Vasco de Gamma ?","A :Madrid","B :Barcelone","C :Lisbonne","C :Lisbonne"],
["Quelle est la capitale des Phillipines ?","A :Manille","B :Jakarta","C :Wellington","A :Manille"] ,
["Quel département français a pour code géographique le 16 ? ","A :Le Cantal","B :La Charente","C :L'Aude","B :La Charente"],
["Dans quel pays se trouve Phnom Penh ?","A :Chine","B :Corée du Nord","C :Cambodge","C :Cambodge"],
["Les habitants de Jérusalem se nomment les ?","A :Yérousalémiens","B :Hiérosolymitains","C :Jérusalemistes","B :Hiérosolymitains"],
[" La France compte environ ","A :37 256 communes ?","B :25 894 communes ? ","C :36 681 communes ?","C :36 681 communes ?"],
["La superficie du Bandgladesh est de ? ","A :150 254 Km²","B :147 570 km²","C :80 456 km²","B :147 570 km²"]]


qtal = Question #On enleve des éléments de la liste pour ne pas répéter la question.


x = 0
while x < 10 :
for i in range(0,1):
lQst = random.choice(qtal) #On prend une question
qtal.remove(lQst) #Qu'on enleve de notre liste de questions
print(lQst[0]) #On l'affiche


print(lQst[1]) #Les 3 réponses
print(lQst[2])
print(lQst[3])

lRep = ""
lRep != ["A","B","C"]

if lRep == "A": #On récupère le choix
lChx = lQst[1]

if lRep == "B":
lChx = lQst[2]
if lRep == "C":
lChx = lQst[3]

if lChx == lQst[4]: #rpvrai
print("-- VRAI --\n")
print("Nouvelle question : " )
x += 1

else: #Sinon
print("-- FAUX --\n")
print(" La bonne réponse était : "),
print(lQst[4])

print("Nouvelle question : " )
x += 1

x = 10
print(" Fin du jeu ! " )


et l'erreur que m'indique l'ordinateur :
Taper la bonne réponse A,B ou C ( ne pas oublier les majuscules , c'est une série de 10 questions . Si vous répondez autre chose que A B C le programme plantera il faudra le relancer .
La France compte environ
A :37 256 communes ?
B :25 894 communes ?
C :36 681 communes ?
Votre réponse: A

Traceback (most recent call last):
File "C:/Python27/QCM FAUX2.py", line 37, in
lRep = str(input("Votre réponse: ")) #On redemande
File "", line 1, in
NameError: name 'A' is not defined


Par avance, merci


Répondre :

Réponse :

Bonjour,

Explications :

import random

def AskRep(wQuest):

   print (wQuest[0])

   print(wQuest[1]) #Les 3 réponses

   print(wQuest[2])

   print(wQuest[3])

   aRep = ""

   while not(aRep in ["A","B","C"]):    

       aRep = str(input("Votre réponse: A B C ")).upper()

   return aRep

#------------------------------------------------------------

Question = [["Quelle est la capitale de la France ?",

            "A :Nantes",

            "B :Paris",

            "C :Marseilles",

            "B"],

           ["Quel est le plus grand océan du monde ? ",

            "A :Le Pacifique",

            "B :L'Atlantique",

            "C :La mer Noire",

            "A"],

           ["Avec quel pays la France n'a t-elle aucune frontière ?",

            "A :Autriche",

            "B :Belgique",

            "C :Monaco",

            "A"],

           ["Dans quelle ville ce trouve le pont Vasco de Gamma ?",

            "A :Madrid",

            "B :Barcelone",

            "C :Lisbonne",

            "C"],

           ["Quelle est la capitale des Phillipines ?",

            "A :Manille",

            "B :Jakarta",

            "C :Wellington",

            "A"] ,

           ["Quel département français a pour code géographique le 16 ? ",

            "A :Le Cantal",

            "B :La Charente",

            "C :L'Aude",

            "B"],

           ["Dans quel pays se trouve Phnom Penh ?",

            "A :Chine",

            "B :Corée du Nord",

            "C :Cambodge",

            "C"],

           ["Les habitants de Jérusalem se nomment les ?",

            "A :Yérousalémiens",

            "B :Hiérosolymitains",

            "C :Jérusalemistes",

            "B"],

           [" La France compte environ ",

            "A :37 256 communes ?",

            "B :25 894 communes ? ",

            "C :36 681 communes ?",

            "C"],

           ["La superficie du Bandgladesh est de ? ",

            "A :150 254 Km²",

            "B :147 570 km²",

            "C :80 456 km²",

            "B"]]

score=0

qtal = Question

nb=len(qtal)

#------------------------------------------------------------

print (" Ce QCM est une série de ",nb," questions " )

x = 0

while x < nb:

       lQst = random.choice(qtal) #On prend une question

       lRep=AskRep(lQst)

       if lRep == lQst[4]:

           score+=1

           print(lQst[0]) #On l'affiche

           qtal.remove(lQst) #Qu'on enleve de notre liste de questions

           print("-- VRAI --\n")

       else:

           print(" réponse fausse")

           

       x=x+1

print(" Fin du jeu ! \n","score=",score,"/",nb )

#------------------------------------------------------------

Merci d'avoir visité notre site Web, qui traite d'environ Informatique. Nous espérons que les informations partagées vous ont été utiles. N'hésitez pas à nous contacter pour toute question ou demande d'assistance. À bientôt, et pensez à ajouter ce site à vos favoris !


Viz Asking: D'autres questions