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 :

Vérifier si un mot est présent dans un dictionnaire


Sujet :

Tkinter Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Vérifier si un mot est présent dans un dictionnaire
    Bonjour,
    Je suis en terminale S spé ISN et j'aurai besoin d'un peu d'aide pour mon projet. Je souhaite réaliser un jeu où l'utilisateur devra composer des mots grâce une suite de lettres donnée au hasard. Voici mon problème : j'ai réussi à faire en sorte de tirer des lettres au hasard, mais je n'arrive pas à vérifier si le mot entré par l'utilisateur est correct. J'aimerais que mon code puisse vérifier si le mot entré par l'utilisateur est bien présent dans le dictionnaire( j'ai pensé à un fichier texte avec tous les mots?), et qu'il y ait un système de score. Voici mon code pour l'instant :
    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
     
    from tkinter import*
    import random
    from tkinter import Entry
    from tkinter import END
    fenetre = Tk()
    fenetre.title("Jeu des lettres")
    fenetre.geometry("500x600")
    def topLevel():         #Nouvelle fenêtre qui s'ouvre pour afficher la description du jeu
        top=Toplevel()
        top.title("Description")
        top.geometry("400x300")
        txt_descri= Label(top, text= "Introduire vraie description", font=('Times', 15))
        txt_descri.place(x=30,y=10)
     
    def get_entry_data():            #commande qui sert à récupérer les caractères introduits par le joueur
        data = entry_widget.get()
        entry_widget.delete(0, END)
        print(str(data))
     
    rows = 0
    while rows < 10:
        fenetre.rowconfigure(rows, weight=1)
        fenetre.columnconfigure(rows,weight=1)
        rows += 1
    entry_widget = Entry(fenetre)
    entry_widget.place(x=190,y=350)
    btn_valider= Button(fenetre)
    btn_valider.configure(text='Valider', command=get_entry_data)
    btn_valider.place(x=220,y=400)
     
    def choisir():            #commande qui sert a tirer au sort 10 caractères de ma_liste
        global btn_choisir
        btn_choisir.config(text= random.sample(ma_liste, 10))
    ma_liste = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
    btn_choisir= Button (fenetre, text="Choisir", command= choisir)
    btn_choisir.place(x=215, y=200)
    txt_a=Label (fenetre, text="Tire au sort des lettres!")
    txt_a.place(x=25,y=205)
    txt_b=Label (fenetre, text="Vous avez choisi le jeu des lettres!!")
    txt_b.place(x=170, y=15)
    btn_description= Button (text= "Lisez moi!", bg="red", fg="white", command = topLevel)
    btn_description.place(x=400, y=60)
    fenetre.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 778
    Points
    36 778
    Par défaut
    Salut,

    Citation Envoyé par LaPatateDouce Voir le message
    J'aimerais que mon code puisse vérifier si le mot entré par l'utilisateur est bien présent dans le dictionnaire( j'ai pensé à un fichier texte avec tous les mots?), et qu'il y ait un système de score.
    Certes mais où est le dictionnaire? On veut bien vous aider si vous avez des difficultés à.... mais si vous n'essayez pas quelque chose (qui montre que vous avez quand même pris le temps d'ouvrir un tuto. pour que ce ne soit pas n'importe quoi), pas grand monde le codera pour vous.

    - 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
    Mai 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    J'ai pensé à faire un document text qui contiendrai tous les mots du dictionnaire, et avec une commande voir si ce qu'a écrit l'utilisateur dans "l'entry" se trouve dans la liste des mots qu'il y a dans mon fichier texte dictionnaire. Je comprend tout à fait ce que vous dites, mais je poste ici ma détresse car je n'ai pas trouvé de tuto qui me montrerai comment faire ça.. J'ai trouvé des tutos pour m'aider à arriver jusqu'à ce point la de mon code mais je ne trouve pas comment faire la partie dictionnaire

  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 778
    Points
    36 778
    Par défaut
    Relisez ce que vous avez écrit: "voir si ce qu'a écrit l'utilisateur dans "l'entry" se trouve dans la liste des mots qu'il y a dans mon fichier texte".
    Donc vous avez une liste de mots et à vérifier si le mot est présent ou pas dans cette liste. Dans une deuxième étape, vous pourrez essayer de construire cette liste à partir du contenu d'un fichier.

    Citation Envoyé par LaPatateDouce Voir le message
    Je comprend tout à fait ce que vous dites, mais je poste ici ma détresse car je n'ai pas trouvé de tuto qui me montrerai comment faire ça.. J'ai trouvé des tutos pour m'aider à arriver jusqu'à ce point la de mon code mais je ne trouve pas comment faire la partie dictionnaire
    J'admets qu'un tuto est une mine de petits bouts de code dont on peut s'inspirer, mais c'est aussi un ensemble de chapitres dont certains méritent d'être relus pour approfondir (car on ne comprends pas tout du premier coup, c'est comme çà, il faut que çà mûrisse). Donc dans notre tuto favori, vous avez le chapitre appartenance d'un élément à une séquence ou le chapitre sur les dictionnaires, puis le chapitre qui montre comment s'utilise Entry avec son exemple ainsi que celui qui traite des fichiers.
    Bien sûr si vous trouverez rarement un code qui fera pile poil ce que vous attendez, mais des explications sur le fonctionnements des objets à utiliser avec des exemples pour comprendre comment vous pourriez faire.

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

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Problème résolu
    Je vous remercie de votre aide, j'ai trouvé comment résoudre mon problème(après pas mal d'heures de recherche). J'ai utilisé "in" pour savoir si ce qu'a entré l'utilisateur était bien dans le dictionnaire et j'ai utilisé "fichier.read()" et "open()" pour amener mon fichier texte dans mon programme. J'ai aussi mit en place un système de score vu que j'ai trouvé comment utiliser "if", "in" et "else". Encore une fois merci pour l'aide et je poste mon code si quelqu'un aurai besoin de quelque chose dans le genre dans le futur.
    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
     
    from tkinter import*
    from tkinter import ttk
    import random                             # j'importe tous les modules nécessaires pour mon code
    from tkinter import Entry
    from tkinter import END
    from os import getcwd
     
     
     
     
    fenetre = Tk()                                #je crée la fenetre 
    fenetre.title("Jeu des lettres")
    fenetre.geometry("500x600")
     
     
     
    score = 0
     
    def topLevel():                #fenetre TopLevel qui permet d'ouvrir une autre page tkinter (ici ma description)
        top=Toplevel()
        top.title("Description")
        top.geometry("500x400")
        txt_descri= Label(top, text= "Le jeu des lettres est un jeu où on tire 12 lettres de l'aphabet ", font=('Times', 15))
        txt_descri2= Label(top, text= "au hasard, puis avec ces lettres il faut trouver le plus de mots " ,font=('Times', 15))
        txt_descri3= Label(top, text= "du dictionnaire possibles. ATTENTION! Si le mot proposé " ,font=('Times', 15))
        txt_descri4= Label(top, text= "est faux votre score retombe à 0.",font=('Times', 15))
        txt_descri.place(x=5,y=10)
        txt_descri2.place(x=5,y=60)
        txt_descri3.place(x=5,y=110)
        txt_descri4.place(x=5,y=160)
     
     
     
    def get_entry_data():                    #commande qui permet de récupérer ce qu'a marqué l'utilisateur et de vérifier si
        data = entry_widget.get()          #il figure bien dans mon fichier txt
        fichier = open('C:/Users/Alex/Desktop/ProjetInfo/DicoFrançais.txt', 'r')
        t = fichier.read()
        entry_widget.delete(0, END)
        if data in t:
            global score
            score+=1
            score_valeur['text']= 'Score:' + str(score)
            vrai_faux= Label(fenetre, text="Vrai ", bg="white", fg="green2", font=('Italic', 10, 'bold'))
            vrai_faux.place(x=370, y=350)
        else:
            global score
            score=0
            score_valeur['text']= 'Score:' + str(score)
            vrai_faux= Label(fenetre, text="Faux", bg="white", fg="red2",font=('Italic', 10, 'bold'))
            vrai_faux.place(x=370, y=350)
     
    def choisir():                         #commande qui tire au sort 12 lettres de la liste que j'ai crée "ma_liste"
        global btn_choisir
        btn_choisir.config(text= random.sample(ma_liste, 12))
     
     
     
     
     
    vrai_faux= Label(fenetre, text="Propose un mot :", font=('Times', 13))
    score_valeur= Label(fenetre, text="Score:0")
    entry_widget = Entry(fenetre)
    btn_valider= Button(fenetre)
    btn_valider.configure(text='Valider', command=get_entry_data)
     
     
     
     
     
    ma_liste = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
    btn_choisir= Button (fenetre, text="C'est parti", font=('Times', 10),bg="white", command= choisir)
    txt_a=Label (fenetre, text="Tire au sort des lettres!", font=('Times', 13))
    txt_ouverture=Label (fenetre, text="Vous avez choisi le jeu des lettres!!", font=('Times', 15))
    btn_description= Button (text= "Lisez moi!", bg="red", fg="white", command = topLevel)
     
     
     
    vrai_faux.place(x=50, y=345)
    score_valeur.place(x=370, y=405)
    entry_widget.place(x=215,y=350)
    btn_valider.place(x=255,y=400)
    btn_choisir.place(x=215, y=190)
    txt_a.place(x=25,y=190)
    txt_ouverture.place(x=120, y=15)
    btn_description.place(x=430, y=60)
     
     
    fenetre.mainloop()

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

Discussions similaires

  1. Vérifier si un élément est présent dans un dictionnaire.
    Par Synerzie dans le forum Général Python
    Réponses: 1
    Dernier message: 03/12/2016, 14h23
  2. Vérifier si une chaine est présente dans une autre
    Par Galdon dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/10/2008, 14h42
  3. Réponses: 11
    Dernier message: 16/12/2007, 16h33
  4. Réponses: 1
    Dernier message: 01/05/2007, 10h39
  5. Réponses: 2
    Dernier message: 13/08/2006, 23h56

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