IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

incrementation d'une variable


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien Electroniquqe
    Inscrit en
    Septembre 2020
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien Electroniquqe

    Informations forums :
    Inscription : Septembre 2020
    Messages : 16
    Par défaut incrementation d'une variable
    Bonjour,

    Le question est vraiment toute bête ...
    Celle ci fonctionne très bien dans le standard en Faisant un i = i + 1.

    Seulement dans mon cas, l'incrémentation se fait en cliquant sur un bouton fait via Tkinter.
    Application faite sur un RaspBerry Pi 3+.
    Lorsque le bouton + est activé cela vas dans une définition, qui est censé faire l'incrémentation.
    Dons mon cas : Race = Race + 1.

    Et cela me sort ce message :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Exception in Tkinter callbalck
    Traceback (most recent call last):
        File "usr/lib/python2.7/lib-tk/Tkinter.py, line 1550, in __call__
              return self.func(*args
        File "Afficheur_Race-V0.py", line 62, in NumP
              Race = Race + 1
    UnboundlocalError: local variable 'Race' referenced before assignment
    Mon manque de connaissance en Python, ne me permet pas de comprendre se qui bloque.
    J'en vient donc à votre expérience pour une solution.

    Merci

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 679
    Par défaut
    Salut,

    Citation Envoyé par Yoko_14D Voir le message
    Mon manque de connaissance en Python, ne me permet pas de comprendre se qui bloque.
    J'en vient donc à votre expérience pour une solution.
    Permettre à une fonction de modifier une variable globale est dans tous les bons tutos.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Homme Profil pro
    Technicien Electroniquqe
    Inscrit en
    Septembre 2020
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien Electroniquqe

    Informations forums :
    Inscription : Septembre 2020
    Messages : 16
    Par défaut
    J'aimerais bien le trouvé ce bon tutos.
    Car je pense qu'il y a pas mal d'autres informations qui pourrait me servir.
    Dans ma recherche, sur l'incrémentation.
    Cela reste toujours sur une standard.

    Dans mon cas, je suis dans un def xxx():

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    def NumP():
         Race = Race + 1 
         l = Label(Aff_Race, text = Race, Padx=20, Pady=15)
         l.grid(row=0, calumn=1)
    Pas de soucis pour l'affichage de la Race dans les autres def.
    Mais l'incrémentation elle ne veut pas ...

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 679
    Par défaut
    Salut,

    Citation Envoyé par Yoko_14D Voir le message
    J'aimerais bien le trouvé ce bon tutos.
    Car je pense qu'il y a pas mal d'autres informations qui pourrait me servir.
    C'est pas compliqué: ils ont une table des matières et un chapitre qui parle de fonction (où il est difficile de passer à côté de la portée des variables. Dans le Swinnen, c'est ici.

    Et oui je pense aussi que çà serait bien que vous trouviez un bon tuto. et y passiez du temps... avant d'abandonner à force de patauger.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre averti
    Homme Profil pro
    Technicien Electroniquqe
    Inscrit en
    Septembre 2020
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien Electroniquqe

    Informations forums :
    Inscription : Septembre 2020
    Messages : 16
    Par défaut
    Merci pour ton retour, et le lien que je viens d'explorer;

    Seulement voila, cela ne vas pas mieux.
    Comme je suis dans une def XXX(),
    dans les () je mes ma varaible Race.
    Ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    def NumP(Race):
         Race = Race + 1 
         l = Label(Aff_Race, text = Race, Padx=20, Pady=15)
         l.grid(row=0, calumn=1)
    Sauf que cela n'est pas mieux, cela me donne toujours le même message d'erreur.
    A savoir, que cette variable Race est fixé par un def, qui indique la Race ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    def Num0():
         Race = 0
         l = Label(Aff_Race, text = Race, Padx=20, Pady=15)
         l.grid(row=0, calumn=1)
    La variable Race est donc fixé dans cette def, mais ne semble pas redescendre.

    Mon langage de base étant le C, je n'arrive pas à suivre la logique de la variable ...

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 679
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 679
    Par défaut
    Salut,

    Citation Envoyé par Yoko_14D Voir le message
    Mon langage de base étant le C, je n'arrive pas à suivre la logique de la variable ...
    Je n'ai pas la prétention de vous l'expliquer mieux que la page de tuto. que je vous ai indiqué.
    A vous de la relire et de passer un peu de temps sur les explications autour du mot clef "global".

    Essayer d'oublier un peu le langage C: Python est un autre langage où si des constructions sont familière au programmeur C/C++, c'est jusqu'à ce qu'il se rende compte que ces similitudes le foutent dedans (on dit "faux amis").

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Simple incrementation d'une variable
    Par Mentos4k dans le forum Débuter avec Java
    Réponses: 8
    Dernier message: 26/01/2019, 00h41
  2. incrementer nombre à une variable
    Par stefanelle dans le forum Langage
    Réponses: 6
    Dernier message: 28/08/2009, 15h44
  3. dernier auto-increment vers une variable
    Par H-bil dans le forum C#
    Réponses: 22
    Dernier message: 06/06/2008, 08h09
  4. Incrémentation d'une variable
    Par tarzanjane dans le forum Langage
    Réponses: 10
    Dernier message: 17/07/2006, 16h04
  5. [débutant]Problemem d'incrementation d'une variable
    Par sakuragikan dans le forum Langage SQL
    Réponses: 3
    Dernier message: 26/08/2005, 08h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo