Bonjours, je suis en terminal et en spécialité ISN et je dois rendre mon projet qui consiste a réalisé un pendu graphique.
mais malheureusement j'ai un bugs avec mon programme qui ne veut pas afficher les lettre du mot quand elle sont trouverL
j'utilise la fonction tkinter de python pour mon projet.
voici mon code :
Code:from tkinter import* from random import * cont="c" parties = 0 victoires = 0 défaites = 0 global erreur erreur = 0 def jouer(): main.destroy() def quitter(): main2.destroy() # fenetre principale du jeux main = Tk() main.geometry("1000x700+185+10") main.title("Pendu") main['bg'] = 'white' boutton1 = Button(main,text="jouer",command = jouer).pack(side=LEFT,padx=5,pady=5) photo = PhotoImage(file="acceuil pendu.png") canvas = Canvas(main,width=1000, height=1000) canvas.create_image(0, 0, anchor=NW, image=photo) canvas['bg']= 'white' canvas.pack() main.mainloop() # fenetre de jeux main2 = Tk() main2.geometry("1000x700+185+10") main2.title("Pendu") main2['bg'] = 'lightgrey' txt1 = Label(main2, text =' mot à trouver: ').grid(row =0,column =2, sticky =E) txt3 = Label(main2, text =' lettre deja proposé ').grid(row =1,column =2, sticky =E) txt2 = Label(main2, text =' proposer une lettre : ').grid(row =2,column =2, sticky =E) entr1 = Entry(main2) entr3 = Entry(main2) entr2 = Entry(main2) entr1.grid(row =0, column =3) entr2.grid(row =2, column =3) entr3.grid(row =1, column =3) entr1.config(width = 50) entr2.config(width = 50) entr3.config(width = 50) global mot liste = open("liste_francais-moyens.txt") contenu = liste.readlines() mot = choice(contenu) liste.close() for l in range(0, len(mot)): mot = mot.replace("\n", "") global propositions global m propositions = [] m = '' for lettre in mot: if lettre in propositions: m = m + lettre else: m = m + '-' entr1.delete(0,END) entr1.insert(0,m) # partie du programme que j'arrive pas a concrétisé propositions =[] def proposition(event): global erreur global mot global m lettre = entr2.get() entr2.delete(0,END) print(lettre) if lettre in mot: entr3.insert(0,lettre) if lettre in propositions: erreur = erreur-1 print("Cette lettre a déjà été proposée.") if lettre not in mot : erreur = erreur + 1 entr3.insert(0,lettre) print("n'appartient pas au mot,") if lettre not in propositions: propositions.append(lettre) if erreur == 1: canvas2.create_line(50,470,150,470,fill='black',width=5) elif erreur == 2: canvas2.create_line(100,470,100,50,fill='black',width=5) elif erreur == 3: canvas2.create_line(50,50,350,50,fill='black',width=5) elif erreur == 4: canvas2.create_line(100,100,150,50,fill='black',width=5) elif erreur == 5: canvas2.create_line(300,50,300,100,fill='black',width=5) elif erreur == 6: canvas2.create_oval(275,100,325,150,fill='lightgrey',width=5) elif erreur == 7: canvas2.create_line(300,150,300,300,fill='black',width=5) elif erreur == 8: canvas2.create_line(250,200,350,200,fill='black',width=5) elif erreur == 9: canvas2.create_line(300,300,250,350,fill='black',width=5) elif erreur == 10: canvas2.create_line(300,300,350,350,fill='black',width=5) canvas2.create_text(320,400,text = "P E N D U ",fill = "red", font=("Helvectica", "50")) #le cadre pour placer le dessin canvas2 = Canvas(main2, bg="white") canvas2 = Canvas(main2,width=500,height=500) canvas2.grid(row =1, column =4, rowspan =3, padx =10, pady =5) entr2.bind("<Return>",proposition) entr3.insert(0,propositions) print(mot) print(propositions) main2.mainloop()
je vous remercie pour votre compréhension.
Bien cordialement
Victor
-----