Laurentvidal.fr est là pour vous fournir des réponses précises à toutes vos questions avec l'aide de notre communauté experte. Obtenez des réponses rapides et fiables à vos questions grâce à notre communauté dédiée d'experts sur notre plateforme. Expérimentez la commodité de trouver des réponses précises à vos questions grâce à une communauté dévouée d'experts.

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.

Merci d'avoir choisi notre plateforme. Nous nous engageons à fournir les meilleures réponses à toutes vos questions. Revenez nous voir. Merci de votre visite. Nous nous engageons à fournir les meilleures informations disponibles. Revenez quand vous voulez pour plus. Laurentvidal.fr, votre site de référence pour des réponses précises. N'oubliez pas de revenir pour en savoir plus.