Comment passer une variable dans une fonction ?? - Python - Programmation
Marsh Posté le 02-12-2018 à 12:09:18
erwan83 a écrit : Comment peut on faire passer une variable dans une fonction ?
|
Ou la, je te conseille vivement de suivre un tutoriel pour t’expliquer la programmation. N’importe lequel introduira le concept d’argument de fonction....
Il suffit de mètre vclic en argument : def clicgauche(self, event, vclic):
Puis de le spécifier lorsqu’on appel la fonction: clicgauche(event, vclic)
Bonne journée
Marsh Posté le 02-12-2018 à 13:25:58
Alors voilà pourquoi ça me bloque :
Je fais simplement une fonction clic qui fonctionne normalement quand on clic
MAIS JE VOUDRAIS LUI PASSER UN ARGUMENT EXTERIEUR qui est vclic
(en fait quand tu clic, un compteur bascule de 1 à 0 et vice versa si c'est 1, ca affiche un ecran, si c'est 0 ça fait tout un calcul)
Code :
|
Si je lui demande d'appeler vclic dans la fonction sans le déclarer (parenthèses) il me dit que je dois attribuer une valeur...
UnboundLocalError: local variable 'vclicgauche' referenced before assignment
Si je le déclare (parenthèses) il me dit qu'il ne voit que deux arguments sur trois
TypeError: clicgauche() takes exactly 3 arguments (2 given)
Marsh Posté le 02-12-2018 à 13:49:14
Bon, j'ai saisi que des valeurs ne peuvent pas passer de l'exterieur vers l'interieur d'une fonction MAIS
J'ai bien besoin de créer une fonction pour détecter un clic souris (ou autre d'ailleurs)
Et une fois que l'utilisateur a cliqué (ce qui est détecté par la fonction) je dois lancer tout un tas de calculs...
C'est ça que j'ai du mal à visualiser
J'etais parti sur une fonction clicgauche qui detecte un event sur self là j'ai bien compris le principe
Mais après je dois PASSER TOUT UN TAS DE VALEURS qui seront modifiées à partir de la détaction de ce clic.....
Marsh Posté le 02-12-2018 à 14:28:26
ReplyMarsh Posté le 02-12-2018 à 18:56:47
Reply
Marsh Posté le 02-12-2018 à 11:56:58
Comment peut on faire passer une variable dans une fonction ?
Je veux pouvoir lui attribuer une valeur et recuperer cette valeur dans la fonction.
Merci de votre aide !