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 :

Utilisation de la fonction Len()


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 133
    Par défaut Utilisation de la fonction Len()
    Bonjour,

    J'ai un petit problème. Dans ma fenêtre principale, je dispose d'un entry qui sert à récupérer une phrase que l'utilisateur tappe. Une fois que l'utilisateur appui sur le bouton "envoyer", la valeur de l'entry est envoyée à la définition "action" ; voici cette définition:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    def action():
        if len(phrase) > 99:
            tkMessageBox.showinfo("Information","Le message à crypter que vous avez défini comporte plus de 100 caractères.\nLe message sera coupé au centième caractère.")
            crypt = []
            x=0
            while len(crypt) < 99:
                crypt.append(phrase[x])
                x = x + 1

    Le problème c'est que lorsque j'entre plus de 100 caractères dans l'entry, la boîte tkMessageBox.showinfo ne s'affiche pas. Je n'arrive pas à situer l'erreur. Merci de votre aide.

    Julien

  2. #2
    Membre chevronné
    Homme Profil pro
    Responsable du parc et des réseaux de télécommunication
    Inscrit en
    Mai 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable du parc et des réseaux de télécommunication
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2003
    Messages : 290
    Par défaut
    Bonjour,
    Es-tu sûr que phrase contienne l'entrée de ton widget ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    def action():
        phrase=monEntry.get()
        if len(phrase) > 99:
            tkMessageBox.showinfo("Information","Le message à crypter que vous avez défini comporte plus de 100 caractères.\nLe message sera coupé au centième caractère.")
            crypt = []
            x=0
            while len(crypt) < 99:
                crypt.append(phrase[x])
                x = x + 1

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 52
    Par défaut
    Bonjour,

    Le plus simple est de faire un
    avant le premier if.

    See++

  4. #4
    Membre expérimenté
    Inscrit en
    Janvier 2004
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 186
    Par défaut
    il me semble (désolé si je dit une betise) que quand un bouton renvoie sur une définition il doit lui transmettre un parametre, or je ne voit pas de parametre dans ta fonction action.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 133
    Par défaut
    Bonjour à tous,

    D'abord merci de vos réponses, je vais les essayer.

    Pierjean:

    En fait, c'est dans le corps principal que j'ai déclaré phrase:
    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
     
    def action():
        # Test de la longueur de la phrase.
        if len(phrase) > 99:
            tkMessageBox.showinfo("Information","Le message à crypter que vous avez défini comporte plus de 100 caractères.\nLe message sera coupé au centième caractère.")
            crypt = []
            x=0
            while len(crypt) < 99:
                crypt.append(phrase[x])
                x = x + 1
     
    [.....]
    # Programme principal.
    [.....]
    data1 = Entry(fenetre1,width=100)
    data1.pack()
    phrase = data1.get()
    [...]
    Button(fenetre1,text="Crypter/Envoyer",command=action).pack(side=RIGHT)
    Tu crois qu'il faut redéclarer phrase comme tu l'as fait dans ton exemple de code ? Enfin je vais essayer.

    Slade991:

    En fait, je devrai mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    def action(phrase):
        # Test de la longueur de la phrase.
        if len(phrase) > 99:
        [...]
    c'est ça ?

    Merci à tous.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 133
    Par défaut
    Bonjour,

    le problème est résolu. Pierjean tu avais raison. Je n'avais pas déclaré ma variable phrase dans la définition seulement dans le corps principal. Merci à tous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'utilisation de la fonction len
    Par auronlepabon dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/06/2010, 12h11
  2. Utilisation de la fonction de déploiement
    Par mchicoix dans le forum XMLRAD
    Réponses: 4
    Dernier message: 01/03/2005, 14h35
  3. [LG]Utilisation de la fonction Random
    Par chloe95 dans le forum Langage
    Réponses: 1
    Dernier message: 01/03/2005, 14h20
  4. Utilisation de la fonction qsort
    Par Jsmeline dans le forum C
    Réponses: 8
    Dernier message: 28/01/2005, 12h40
  5. [LG]librairies : utiliser seulement quelques fonctions
    Par wwwroom dans le forum Langage
    Réponses: 13
    Dernier message: 14/05/2004, 22h50

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