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 :

Détecter une lettre dans une chaine [Python 3.X]


Sujet :

Python

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 67
    Points : 61
    Points
    61
    Par défaut Détecter une lettre dans une chaine
    Bonjour à tous,

    Je souhaite détecter si une lettre est présente dans une phrase, dans une simple fenêtre Tkinter. Je vois où est mon erreur mais je ne sais comment la résoudre. Voici mon code :
    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
     
    from tkinter import*
     
    phrase='LA GUERRE DES MONDES' # C'est dans cette phrase que je veux détecter une lettre
     
    def présence(action): # La fonction qui detecte une lettre dans la phrase
        analysePhr=phrase.split(' ') # Je récupère les mots de ma phrase
        lettre=texte.get().split(' ') # Je récupère ma lettre
        reponse=''
        for j in range (len(analysePhr)):
            if lettre==analysePhr[j]: # Je teste si la lettre est dans la phrase
                reponse='oui'
        zonePhr['text']=reponse
     
    def Fenêtre(): # L'interface Tkinter
     
        global fen,texte,zonePhr
        fen=Tk()
     
        zonePhr=Label(fen,justify='center',text=phrase,bg='yellow',height=2,width=46,font=('arial', 22))
        zonePhr.grid(column=2,row=0,sticky=N,padx=20,pady=140)
     
        texte=StringVar()
        texte.set('Entrez la lettre ici.')
        zoneRep=Entry(fen,textvariable=texte,justify='center',width=20)
        zoneRep.grid(column=2,row=0,sticky=N,pady=230)
        zoneRep.bind('<Key-Return>',présence) # La touche enter lance la fonction présence
     
        fen.mainloop()
     
    Fenêtre()
    En fait, cela ne peut marcher car je cherche la lettre dans les mots de la phrase, et non dans les lettres des mots de cette phrase.
    Il me manque donc une boucle parcourant chaque mot de ma phrase ... mais là je bloque ... pourtant c'est simple

    Merci de m'avoir lu.

  2. #2
    Membre averti Avatar de cervo
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 220
    Points : 388
    Points
    388
    Par défaut

    Tu as le choix soit * d'utiliser la methode find(): tu recupère la chaine entiere et tu fais phrase.find("caractère recherché"), celà te retournera la position du caractère ou -1 s'il n'est pas trouvé
    * soit tu fait classiquement la methode booleene : "caractere recherché" in phrase . cela te retournera True si le caractere est présent dans la chaîne ou false pour le contraire
    Toute chose dépend de la valeur qu'on lui attribue !

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 67
    Points : 61
    Points
    61
    Par défaut
    Merci

    J'ai choisi cette option :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    def présence(action):
        lettre=texte.get()
        X=phrase.find(lettre)
        print(X)

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

Discussions similaires

  1. Remplacer une lettre par une autre dans une cellule
    Par Philippe76 dans le forum Excel
    Réponses: 1
    Dernier message: 09/01/2010, 21h26
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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