Bonjour à tous,

je cherche à faire un QCM sur les capitales.
je souhaiterais faire une boucle pour que dans le print ci-dessous s'affichent des indices 0 1 2 et 3 de la liste "pays" et avec eux les indices des diferrentes listes capitale_xxx correspondantes.

Idem pour la condition en dessous je souhaiterais qu'elle affiche le bon indice de la liste "pays" avec la bonne liste "capitale_xxx"

y a t il possibilité de factoriser en utilisant les listes et la methode .format?

Merci pour votre aide,

Rudolf

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
score = 0
 
pays = ["de la France","de la Russie","de l'Espagne","du Luxembourg"]
capitale_France = ["Paris","Marseille","Lyon","Albi"]
capitale_Russie = ["Saint Petersbourg","Moscou","Irkoutsk","Voronej"]
capitale_Espagne = ["Barcelone","Valencia","Madrid","Grenada"]
capitale_Luxembourg = ["Wiltz","Dudelange","Esch","LuxVille"]
reponses = ["a","b","c","d"]
 
print ("Quelle est la capitale {}? \n {} {} \n {} {} \n {} {} \n {} {} \n ".format(pays[0],reponses[0],capitale_France[0],reponses[1],capitale_France[1],reponses[2],capitale_France[2],reponses[3],capitale_France[3]))
 
rep = str(input("Quelle est la réponse? Merci d'entrer une lettre minuscule"))
 
if rep == reponses[0] :
  print("Bravo")
  score = score + 1
  print ("Votre score est de ", score, " point")
elif rep == reponses[1] or rep == reponses[2] or rep == reponses[3]:
  score = score - 1
  print("Dommage vous avez faux et perdez un point. Votre score est de", score)
else:
  print("S'il vous plait entrez une des lettres a,b,c ou d")