C'est normal, explication: une fonction possède son propre espace de nom de sorte a pouvoir mettre 2 fois la variable "var" dans 2 fonctions par exemple et éviter que l'une efface l'autre. Un espace ne peut en théorie pas modifier un autre (ici avec ta fonction tu tente de modifier l'espace global). Outre ta synthaxe un peu brute, tu peut (doit ?) renvoyer les valeurs que tu veux en sortie style:
Ca peut être plus clair mais si tu trouve que ça ne l'es pas c'est pas nécessaire non plus mais on aime bien qu'une fonction ai qu'une seule fonction justement
d'autre suggestions:
matiere = ["Francais", "Anglais", "Espagnol", "histoire geo"]
ajoutFmatiere = matiere[reponse + 1]
ajout1 = str(input('De quoi traite l evaluation ?'))
ajoutFnom = ajout1
# à la place de tes grosses structures conditionnelles
J'ai peut-être pas tout compris, mais on peut utiliser la force de "tout est objet en python" pour faire quelque chose comme,
In [1]: def function():
...: if not hasattr(function, 'variables'):
...: setattr(function, 'variables', {})
...: function.variables['ajoutFmatiere'] = 'Tartanpion'
...: function.variables['ajoutNom'] = 'Tintin'
...: return function
...:
In [2]: f = function()
In [3]: f.variables
Out[3]: {'ajoutFmatiere': 'Tartanpion', 'ajoutNom': 'Tintin'}
In [4]: f.variables['ajoutFmatiere']
Out[4]: 'Tartanpion'
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
On peut mais je sais pas si c'est vraiment conseillé, surtout que au vu du code qu'il propose je ne crois pas qu'il ai le bagage pour comprendre ce que tu fais et sa question était sur la portée des variables
- Edité par Coliculus 20 septembre 2019 à 19:55:19
On peut mais je sais pas si c'est vraiment conseillé, surtout que au vu du code qu'il propose je ne crois pas qu'il ai le bagage pour comprendre ce que tu fais et sa question était sur la portée des variables
- Edité par Coliculus il y a environ 15 heures
oui j'ai pas tout compris....
mais un grand merci a toi coliculus pour ta reponse
Fonction/class
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
#©je code quand je m'ennuie
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)