Deviner un mot choisi aléatoirement dans un fichier donné

Question 1

  1. Ecrire une fonction en Python nommée melangemot(), de paramètre un mot (chaîne de caractères), qui renvoie les caractères du mot rangés dans le désordre. (La fonction ne doit pas renvoyer le mot initial).
  2. Exécuter cette fonction plusieurs fois pour vérifier.

Une proposition de réponse :

# -*- coding: utf-8 -*-
def melangemot(mot) : #cette fct le mot
    melange = mot
    for i in range(len(mot)) :
        a = randint(0,len(mot)-1)
        b = randint(0,len(mot)-1)
        new = ""
        for j in range(len(melange)) :
            if j==a :
                new = new + melange[b]
            elif j==b :
                new = new + melange[a]
            else :
                new = new + melange[j]
        melange = new
    return melange

Question 2

  1. Télécharger le fichier en Excel mots.dll dans lequel on donne une liste de mots

  2. Ecrire une fonction en Python nommée motaupif() qui renvoie un mot choisi aléatoirement du fichier mots.dll

Une proposition de réponse :

# -*- coding: utf-8 -*-
def motaupif() : #cette fct trouve un mot dans mot.dll
    f=open("mots.dll","r")
    PIFlisteMots = f.readlines()
    PIFmot = PIFlisteMots[randrange(0,len(PIFlisteMots),1)]
    PIFmot = PIFmot[0:len(PIFmot)-1]
    return PIFmot

Question 3

Ecrire une fonction en Python qui vérifie si le mot saisi par l'utilisateur est celui choisi aléatoirement par la fonction motaupif().

Une proposition de réponse :

# -*- coding: utf-8 -*-
def verifie() : #on test si le mot entré par le joueur correspond au mot recherché
    if utilisateur.get() == chercher :
        afficher.config(text="Bravo !")
        erreur.place_forget()
        utilisateur.place_forget()
        valider.place_forget()
    else :
        erreur.config(text="ERREUR")

Question 4

Ecrire un programme qui fait appel à ces trois fonctions et affiche dans une fenêtre si l'utlisateur a bien réussi ou pas.

L'objectif du jeu L'objectif du jeu
L'objectif du jeu L'objectif du jeu

Une proposition de réponse :

# -*- coding: utf-8 -*-
from random import *
def melangemot(mot) : #cette fct le mot
    melange = mot
    for i in range(len(mot)) :
        a = randint(0,len(mot)-1)
        b = randint(0,len(mot)-1)
        new = ""
        for j in range(len(melange)) :
            if j==a :
                new = new + melange[b]
            elif j==b :
                new = new + melange[a]
            else :
                new = new + melange[j]
        melange = new
    return melange


def motaupif() : #cette fct trouve un mot dans mot.dll
    f=open("mot.dll","r")
    PIFlisteMots = f.readlines()
    PIFmot = PIFlisteMots[randrange(0,len(PIFlisteMots),1)]
    PIFmot = PIFmot[0:len(PIFmot)-1]
    return PIFmot

def verifie() : #on test si le mot entré par le joueur correspond au mot recherché
    if utilisateur.get() == chercher :
        afficher.config(text="Bravo !")
        erreur.place_forget()
        utilisateur.place_forget()
        valider.place_forget()
    else :
        erreur.config(text="ERREUR")

from tkinter import *
fen = Tk()
fen.title("MELANGE TON MOT")
fen.geometry("150x120")
chercher = motaupif() #on cherche ce mot


#déclaration des boutons
afficher = Label(fen, text=melangemot(chercher))
erreur = Label(fen,text="Ne vous trompez pas")
utilisateur = Entry(fen)
valider = Button(fen,text="Valider",width=10,command=verifie)

#affichage des boutons
afficher.place(x=60-len(chercher),y=10)
erreur.place(x=0,y=100)
utilisateur.place(x=15,y=50)
valider.place(x=40,y=75)
fen.mainloop()