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

Tkinter Python Discussion :

probleme boucle


Sujet :

Tkinter Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Avril 2017
    Messages : 9
    Points : 4
    Points
    4
    Par défaut probleme boucle
    Bonjour,
    Voila j'ai un problème avec ma boucle, je voudrais que le programme demande sans cesse l'opérateur s'il n'est pas dans la liste mais je n'y arrive pas si quelqu'un peut m'aider

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    # -*- coding: utf-8 -*-
    """
    Created on Thu Apr 27 16:54:08 2017
     
    @author: binet
    """
     
    # -*-coding:Latin-1-*
     
    from tkinter import *
    import math
    import sys
     
    def lire_operateur(coups, ops):   
        opok = False # True lorsque l'opérateur saisi est correct
        while not opok: # Tant que l'opérateur n'est pas parmi + - / *
            print('\t', coups+1, ' : [* + - /] ? ', end='')
            op=IntVar()
            inputop = Entry(textvariable=op,width=20)
            inputop.pack()
     
            if inputop in ops: # l'opérateur entré est valide
                opok = True
        return inputop      # On retourne l'opérateur choisi   
     
     
    def affichage():
        d=coups.get
        r=lire_operateur(d,'+*-/')
        labelop= Label(base,text=r , fg="black")
        labelop.pack()
     
    base = Tk()
    label2= Label(base, text='entrez le nombre de coups: ',width=20, fg="black")
    label2.pack()
     
    label1= Label(base, text="entrez l'opérateur voulu",width=20)
    label1.pack()
     
    coups=IntVar()
    inputb = Entry(textvariable=coups,width=20)
    inputb.pack()
     
     
    bouton1= Button(base,text="Calculer",command=affichage)
     
     
     
     
     
    bouton1.pack()
    base.mainloop()

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

    Ce que vous voulez faire est ce qu'on appelle une validation de la saisie.
    Avec le widget Entry, vous avez un petit tuto. ici.

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

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Avril 2017
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Je vois, mais quand faire pour repeter la boucle jusqu'à que la saisie soit bien dans la liste?

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par grobient Voir le message
    Je vois, mais quand faire pour répéter la boucle jusqu'à que la saisie soit bien dans la liste?
    Avec tkinter, vous ne pouvez pas écrire une fonction telle "lire_operateur" qui fonctionne en séquentiel alors que vous devez programmer en évènementiel (ce qui interdit de construire ce genre de boucle). Si vous l'ignorez, il faut ouvrir un toto. pour apprendre à programmer avec tkinter.

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

Discussions similaires

  1. Probleme boucle et tableau
    Par orj30754 dans le forum C
    Réponses: 6
    Dernier message: 27/12/2006, 19h24
  2. Probleme boucle for
    Par griese dans le forum Linux
    Réponses: 4
    Dernier message: 06/12/2006, 14h39
  3. Probleme Boucle infinie Recordset.movenext "muet"?
    Par shub dans le forum VBA Access
    Réponses: 7
    Dernier message: 14/06/2006, 13h22
  4. [Tableaux] Probleme boucle et post
    Par Caprichosa dans le forum Langage
    Réponses: 4
    Dernier message: 04/05/2006, 14h06
  5. [LG]Problême Boucle
    Par pierrOPSG dans le forum Langage
    Réponses: 1
    Dernier message: 29/04/2004, 16h48

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