Laurentvidal.fr est là pour vous fournir des réponses précises à toutes vos questions avec l'aide de notre communauté experte. Découvrez la facilité de trouver des réponses fiables à vos questions grâce à une vaste communauté d'experts. Explorez des milliers de questions et réponses fournies par une communauté d'experts sur notre plateforme conviviale.

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?


Sagot :

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.

Nous espérons que cela vous a été utile. Revenez quand vous voulez pour obtenir plus d'informations ou des réponses à vos questions. Merci d'avoir choisi notre plateforme. Nous nous engageons à fournir les meilleures réponses à toutes vos questions. Revenez nous voir. Merci d'utiliser Laurentvidal.fr. Continuez à nous rendre visite pour trouver des réponses à vos questions.