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 :

Problème incrémentation d'une Variable


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur loisir
    Inscrit en
    Mars 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur loisir
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 9
    Points : 2
    Points
    2
    Par défaut Problème incrémentation d'une Variable
    Bonjour,

    J'ai presque honte de poser cette question, mais je m'arrache les cheveux à trouver une solution à ce petit exercice pratique.

    J'ai écrit un petit script qui est supposé incrémenter à chaque clic de souris dans un canvas une variable "turn" (c'est un exercice pour apprendre). Et suivant la valeur de "turn" je prend lance cliquer_one() ou cliquer_two().

    Mais cette dernière ne s'incrémente pas. Merci de votre aide, je pense qu'il s'agit d'un problème de contexte ???

    Mon code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    from tkinter import *
     
    # ###################################################################################
    def raz():
        turn=2
    # ###################################################################################
    def cliquer_one(event):
        can.create_text(250,100,text=str(turn))
        MonTour = Label(fen, text="1 - Tour N° {}".format(turn)).pack()
    # ###################################################################################
    def cliquer_two(event):
        can.create_text(250,100,text=str(turn))
        MonTour = Label(fen, text="2 - Tour N° {}".format(turn)).pack()
    # ###################################################################################
    # ###################################################################################
     
    turn = 0
    fen = Tk() 
    fen.title("TOTO")
    raz()
     
    can = Canvas(fen,bg="light grey",width=500,height=200)
     
    if turn == 0:
        can.bind("<Button-1>", cliquer_one)
        turn = 1
    elif turn == 1:
        can.bind("<Button-1>", cliquer_two)
        turn = 2
    elif turn == 2:
        MonTour = Label(fen, text="0 - Tour N° {}".format(turn)).pack()
        turn = 0
     
    can.pack()
    fen.mainloop()

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    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 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Salut,

    Quel est l'intérêt d'écrire (et d'appeler) une fonction telle que:
    alors qu'elle ne retourne rien ni ne modifie quoi que ce soit?

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

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur loisir
    Inscrit en
    Mars 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur loisir
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    J'avais oublié de la supprimer


    Citation Envoyé par wiztricks Voir le message
    Salut,

    Quel est l'intérêt d'écrire (et d'appeler) une fonction telle que:
    alors qu'elle ne retourne rien ni ne modifie quoi que ce soit?

    - W

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    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 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Citation Envoyé par POCO2 Voir le message
    J'avais oublié de la supprimer
    Pour moi incrémenter, c'est trouver une instruction de la forme turn = turn + 1 ou turn += 1. A défaut, vous dites des choses en français dont on ne retrouve aucune trace dans le code (ce qui explique qu'il ne fasse pas ce que vous attendiez).

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

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur loisir
    Inscrit en
    Mars 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur loisir
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2017
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Oui, abus de langage. En fait je désire attribuer une valeur à ma variable turn.



    Citation Envoyé par wiztricks Voir le message
    Pour moi incrémenter, c'est trouver une instruction de la forme turn = turn + 1 ou turn += 1. A défaut, vous dites des choses en français dont on ne retrouve aucune trace dans le code (ce qui explique qu'il ne fasse pas ce que vous attendiez).

    - W

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    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 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Citation Envoyé par POCO2 Voir le message
    Oui, abus de langage. En fait je désire attribuer une valeur à ma variable turn.
    C'est ce que vous faites déjà fort bien ligne 18, 27, 30, 33,...
    nota, si vous n'arrivez déjà pas à raconter ce que vous voulez faire en français... normal qu'on en trouve difficilement sa traduction dans le code. Mais c'est pas avec çà qu'on va pouvoir vous aider.

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

Discussions similaires

  1. [XSL] Problème recuperation d'une variable XSL
    Par vinzmeister dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 29/05/2006, 15h41
  2. Problème d'accès à une variable
    Par khaled.mtibaa dans le forum Langage
    Réponses: 3
    Dernier message: 20/04/2006, 11h39
  3. Réponses: 2
    Dernier message: 14/04/2006, 18h40
  4. Probléme pour insérer une variable dans un champs
    Par BOUTRAIS dans le forum Access
    Réponses: 2
    Dernier message: 11/04/2006, 22h45
  5. [Débutant] Probleme d'incrémentation d'une variable
    Par sakuragikan dans le forum ASP
    Réponses: 2
    Dernier message: 25/08/2005, 13h11

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