Informatique

Question

Bonsoir
Le programme ci-dessous affiche que la variable "dictionnaire" n'est pas défini.

def lecture():
dictionnaire = {}
fichier=open('qcm.txt')
for line in fichier:
key, value= line.split(';;')
dictionnaire[key]=value
fichier.close

Je n'arrive pas a comprendre pourquoi. Pouvez-vous m'aider s'il vous plait?

1 Réponse

  • Bonsoir,

    Ton dictionnaire n'existe qu'au sein de la fonction lecture().

    On parle de variables locales (opposées à globales); c'est la portée des variables.

    Tu as deux possibilités pour utiliser ton dictionnaire en dehors de la fonction.

    La première c'est de faire ton dictionnaire = {} en dehors de la fonction, donc en globale.

    La deuxième (mieux) c'est de retourner le dictionnaire à la fin de la fonction:

    def lecture():

       dictionnaire = {}

       fichier=open('qcm.txt')

       for line in fichier:

           key, value= line.split(';;')

           dictionnaire[key] = value

       fichier.close

       return dictionnaire

    dico = lecture()

    Bonnes fêtes.

Autres questions