| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 
 | import random
 
def fichier(capitales):
    with open('F:/capitales.csv', 'r') as f:
        lines = list(map(str.strip, f))
        return lines
 
 
def question(n, lines):
    random.shuffle(lines)   # Mélange aléatoirement les éléments d'une liste.
    couples = lines[:n]
    couple1 = couples[0]   #On prend le premier couple de la liste qui sera celui pour la question.
    pays, capitale = couple1.split(';')   #On donne un nom aux deux variables du couple (pays ; capitale) et on sépare le pays et la capitale par ";" qui sera le délimitateur.
 
    mauvaise_capitale = []
    for i in couples[1:]:   # On exclut le premier couple (pris avant par la question).
        pay, cap = i.split(';')
        mauvaise_capitale.append(cap)   # On prend uniquement les capitales des autres couples et on les mets dans le tableau mauvaise capitale.
 
    print("Quelle est la capitale de {} ?".format(pays))   # Création de la question, en demandant de ne faire apparaitre que le pays d'un couple choisit au hasard. Format() permet d'insérer une variable dans une chaine.
    capitales = [capitale] + mauvaise_capitale
    random.shuffle(capitales)   # On vient remélanger la liste.
    for i, cap in enumerate(capitales):   # La fonction enumerate permet de récupérer une liste de tuples: ici (pays, capitale)
        print('{}: {}'.format(i+1, cap))   # On ne veut faire apparaître que la capitales.
 
    reponse = int(input('Entrez votre réponse: '))
    if capitale == capitales[reponse-1]:   #Si la capitale choisie est celle de la variable 0 du tableau, alors c'est la bonne réponse.
        print('Vous avez gagné !')
    else:
        print("Non! C'était {}...".format(capitale))
 
 
 
LINES = fichier('F:/capitales.csv')       
for n in range(10):   # La boucle permet de répéter la question 10 fois.
    question(3, LINES)   # On ne veut que 3 propositions de réponses (soit la bonne capitale + 2 autres) | 
Partager