Utilisation de l'indice i pour passer le terme de rang i d'une liste à une autre

Fermé
zoegaze Messages postés 2 Date d'inscription samedi 1 juin 2019 Statut Membre Dernière intervention 2 juin 2019 - Modifié le 1 juin 2019 à 18:18
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 - 2 juin 2019 à 18:54
Bonjour bonsoir,

Pour notre projet bac d'Isn, nous réalisons un logiciel de "flashcards". De petites cartes de révision avec un mot de vocabulaire en anglais d'un côté et sa traduction de l'autre ainsi qu'une fonctionnalité permettant de réviser les cartes en fonction du degré de connaissance de ces dernières.

Depuis le début une manipulation nous pose problème et là elle semble carrément empêcher le programme de fonctionner. Nous sommes donc fort dépourvues, l'oral étant prévu lundi matin.

Les trois boutons qui s'affichent sous la flashcard se sélectionnent tous seuls sans pour autant que l'action "cocher" soit lancée, nous avons essayé une autre méthode (cf. paragraphe en rouge)

Dans l'espoir qu'une âme charitable puisse également nous aiguiller sur notre utilisation de l'indice i pour déplacer les termes d'une liste à l'autre,

Merci d'avance,

Eléonore & Zoé

PS: ci-joint notre code :


#_________________________________________________________________________________________________________________________________________________


                          #   INITIALISATION DU PROGRAMME

#_________________________________________________________________________________________________________________________________________________



from tkinter import *

   
    #   4 PAIRES DE LISTES 

                # Paire de listes initiales, banque de vocabulaire, le mot français et sa traduction au même rang
                
listeinitan=['to weep for joy','the mirth','the glee','cheerful','pleasured with','satisfied with','exciting','to my delight'] #mettre tous les mots dans cette liste 
listeinitfr=['pleurer de joie','la gaieté',"la joie", "l'allégresse","plein d'entrain",'content de','satisfait de','passionnant','pour mon plus grand plaisir']

                # Paire de listes "J'ai su (js)" vides

liste1an=[]
liste1fr=[]

                # Paire de listes "J'ai hésité (jh)" vides

liste2an=[]
liste2fr= []

                # Paire de listes "Je n'ai pas su (jsp)" vides

liste3an=[]
liste3fr=[]

    


#_________________________________________________________________________________________________________________________________________________

                          #   CODE SOURCE & ANIMATIONS GRAPHIQUES

#_________________________________________________________________________________________________________________________________________________


          # LISTE INITIALE : TOUT REVISER
          
i=0 # rang

def retourner_toutreviser (event) :         # cette fonction permet d'afficher le mot correspondant en anglais
    print (listeinitan [i])         # afficher le mot anglais au rang i de la liste initiale 

    i=0 # rang    

    label_vc = Label(fen, text=listeinitan[i], font="corbel 13",fg="#ff8979", bg='white')           # afficher le mot en saumon rus fond blanc
    label_vc.place(x='630',y='380')             # position du mot sur l'écran


#changer les mots de liste
def variable ():
    while i < (len(listeinitfr)):                # tant que l'indice du mot dans la liste est inferieur au nombre de termes de cette dernière            
        temporairefr = listeinitfr[i]           # on met le mot dans une variable pour qu'il soit enregistré afin de le changer de liste
        temporairean = listeinitan[i]

def jsi():              # commande j'ai su
    variable ()
    del listeinitfr[i]              # supprimer le mot français de sa liste d'origine 
    del listeinitan[i]              # supprimer le mot anglais de sa liste d'origine 
    liste1fr.append(temporairefr)               # faire apparaitre le mot (variable) dans la liste 1 fr 
    liste1an.append(temporairean)               # faire apparaitre le mot (variable) dans la liste 1 an


def jhi ():             # commande j'ai hésité          
    variable ()
    del listeinitfr[i]
    del listeinitan[i]
    liste2fr.append(temporairefr)
    liste2an.append(temporairean)
    

def jspi ():            # commande je n'ai pas su            
    variable ()
    del listeinitfr[i]
    del listeinitan[i]
    liste3fr.append(temporairefr)
    liste3an.append(temporairean)



def cliquer_pour_reviser():
    
    i=0             #rang

    bouton_reviser.destroy()            #pour que le bouton se supprime et laisse place aux flashcards
    label.place_forget()            #pour que le texte se supprime et laisse place aux flashcards, ça masque le label


    while i < (len(listeinitfr)):                #Tant que l'indice du mot dans la liste est inferieur au nombre de termes de cette dernière
                    # afficher la carte en français
        print (listeinitfr [i])                 #Afficher le terme de rang i    
        label_voc = Label(fen, text=listeinitfr[i], font="corbel 13",fg="#ff8979", bg='white')             #Afficher le mot
        label_voc.place(x='630',y='380')            #Position du mot 
        
        fen.bind("<space>", retourner_toutreviser)          #associer l'evenement clavier à la fonction retourner_toutréviser() ci-dessus

        i = i+1
        
                     
    
        canvas.create_rectangle(475,300,875,500, fill='white')              # rectangle de la flashcard (dimensions, couleur)

        #radiobutton sous rectangle

        #v = StringVar()
        #button1= Checkbutton(fen, text="J'ai su", variable=v, value=1, command = jsi)
        #button1.place(x='475',y='525')
        #button2= Checkbutton (fen, text="J'ai hésité", variable=v, value=1, command = jhi)
        #button2.place(x='625',y='525')
        #button3= Checkbutton (fen, text="Je n'ai pas su", variable=v, value=1, command = jspi)
        #button3.place(x='780',y='525')

        v=IntVar()              # Variable de contrôle, mémorise un entier, sa valeur par défaut est 0

                        #Un groupe de boutons radio, radiobuttons, partage une variable de contrôle qui peut être utilisée pour connaître le bouton qui est
                        #actuellement coché. Quand l’utilisateur clique sur l’un des boutons d’un groupe, le mécanisme qui assure qu’un seul des boutons est
                        #coché à un moment donné s’appuie sur cette variable de contrôle partagée.
        radiobutton1 = Radiobutton (fen, text="J'ai su", variable=v, value=1, command = jsi).place(x='475',y='525')
        radiobutton2 = Radiobutton (fen, text="J'ai hésité", variable=v, value=1, command = jhi).place(x='625',y='525')
        radiobutton3 = Radiobutton (fen, text="Je n'ai pas su", variable=v, value=1, command = jspi).place(x='780',y='525')

        break

                 #   #   #il y a trois autres parties similaires à celle ci
#_________________________________________________________________________________________________________________________________________________


                       #   BASE DE L'INTERFACE GRAPHIQUE TKINTER

#_________________________________________________________________________________________________________________________________________________

       
fen = Tk() # création de la fenêtre principale
fen.title("ZE flashcards") #nom du logiciel
fen.attributes ('-fullscreen', 1) #ouverture de la fenêtre en plein écran


#Creation du canva contenant le titre (le titre est une photo d'un titre travaillé sur Paint)
canvas = Canvas(fen, width="1366", height="768", background="#e6e6e6") 
photo = PhotoImage(file ='titre.gif')
item = canvas.create_image(650, 50, image = photo)

menu_barre = Menu(fen) #barre de menu du haut pour les options
menu_barre.add_command(label="Quitter", command = fen.destroy) #boutton de la commande quitter
#######menu_barre.pack(side=right)    
fen.config(menu = menu_barre) #affichage de ce menu

cadre = Frame(fen, borderwidth=0) #cadre pour mettre le menu principal 

#menu principal: boutons contenu dans un Frame
bouton1 = Button(cadre, text="J'ai su", width=49, font="Arimo", fg="#ffffff", background="#a6a6a6", relief= "flat", overrelief="flat", cursor="star", borderwidth=8, command=cliquer_pour_reviser_js())  #fg=couleur du texte
bouton1.grid(row=0, column=0)
bouton2 = Button(cadre, text="J'ai hésité", width=48, font="Arimo", fg="#ffffff", background="#a6a6a6", relief= "flat", overrelief="flat", cursor="exchange", borderwidth=8, command=cliquer_pour_reviser_jh())
bouton2.grid(row=0, column=1)
bouton3 = Button(cadre, text="Je n'ai pas su", width=48, font="Arimo", fg="#ffffff", background="#a6a6a6", relief= "flat", overrelief="flat", cursor="pirate", borderwidth=8, command=cliquer_pour_reviser_jsp())
bouton3.grid(row=0, column=2)

#explcations du logiciel grâce à un Label
texte = "Bonjour et bienvenue sur ZE FLASCARDS !\n\n Ce logiciel vous aidera à apprendre de nombreux mots de vocabulaire en anglais !\n Pour vos révisions, un mot en français sera affiché sur une flashcard, en appuyant sur la touche « espace » de votre clavier, vous retournerez la carte afin d’afficher la traduction du mot en anglais. \n\n A vous désormais d’indiquer à l’aide des trois boutons disposés sous la carte, si vous avez parfaitement su le mot, si vous avez hésité ou bien si vous ne le connaissiez pas du tout. \nCela vous permettra par la suite de réviser uniquement les mots sur lesquels vous avez hésité, ou bien ceux que vous ignoriez mais aussi ceux que vous connaissiez déjà pour ne pas les oublier.\n\n Bon apprentissage !"
label = Label(fen, text=texte, wraplength = 800, justify = LEFT, font="corbel 13", bg="#e6e6e6") 
label.place(x='275',y='250')

#lien pour aller réviser à partir d'un bouton
bouton_reviser = Button (fen,text="Je vais réviser :)",font="candara 14 bold",fg="#ff8979",overrelief="flat", background="#e6e6e6", relief="flat", cursor="hand2", command= cliquer_pour_reviser)
bouton_reviser.place(x='650',y='550')


cadre.place(x='0',y='100') #afficher dans la fenêtre le petit menu
canvas.pack() #afficher dans la fenêtre le canvas


fen.mainloop()

2 réponses

yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
1 juin 2019 à 19:52
bonjour, je n'ai rien compris à ce que vous vouliez obtenir, et je suis très étonné de la présence de break en ligne 130.
0
zoegaze Messages postés 2 Date d'inscription samedi 1 juin 2019 Statut Membre Dernière intervention 2 juin 2019
Modifié le 2 juin 2019 à 16:46
Voici le code en entier et mis à jour, le faire tourner vous aidera surement à comprendre l'objectif.

Pour ce qui est du break, si l'on ne le met pas la liste française sort en entier, mais je vous accorde que sa position est louche, où faudrait-il le mettre ?

#FLASHCARDS ZE

#RESSOURCES :
#https://www.labri.fr/perso/schlick/DOC/python1.pdf
#http://tkinter.fdex.eu/doc/radbw.html#radiobutto
#http://tkinter.fdex.eu/doc/event.html : commandes clavier
#https://app.memrise.com/course/51903/liste-de-vocabulaire-anglais-toeic/12/


#_________________________________________________________________________________________________________________________________________________


# INITIALISATION DU PROGRAMME

#_________________________________________________________________________________________________________________________________________________



from tkinter import *

import pickle




# 4 PAIRES DE LISTES

# Paire de listes initiales, banque de vocabulaire, le mot français et sa traduction au même rang

listeinitan=['to weep for joy','the mirth','the glee','cheerful','pleasured with','satisfied with','exciting','to my delight'] #mettre tous les mots dans cette liste
listeinitfr=['pleurer de joie','la gaieté',"la joie", "l'allégresse","plein d'entrain",'content de','satisfait de','passionnant','pour mon plus grand plaisir']

# Paire de listes "J'ai su (js)" vides

liste1an=[]
liste1fr=[]

# Paire de listes "J'ai hésité (jh)" vides

liste2an=[]
liste2fr= []

# Paire de listes "Je n'ai pas su (jsp)" vides

liste3an=[]
liste3fr=[]

temporairefr = ""
temporairean = ""

#_________________________________________________________________________________________________________________________________________________


# CODE SOURCE & INTERFACES GRAPHIQUES

#_________________________________________________________________________________________________________________________________________________




# LISTE INITIALE : TOUT REVISER

ii=0 # rang



def sauvegarde_de_ii(ii):
ii=ii+1
pickle.dump(ii, open('saveii', 'wb'))

def retourner_toutreviser (event) : # cette fonction permet d'afficher le mot correspondant en anglais
print (listeinitan [ii]) # afficher le mot anglais au rang i de la liste initiale

label_vc = Label(fen, text=listeinitan[ii], font="corbel 13",fg="#ff8979", bg='white') # afficher le mot en saumon sur fond blanc
label_vc.place(x='630',y='380') # position du mot sur l'écran


#changer les mots de liste
def variablei ():
temporairefr = listeinitfr[ii] # on met le mot dans une variable pour qu'il soit enregistré afin de le changer de liste
temporairean = listeinitan[ii]

def jsi(): # commande j'ai su
variablei ()
del listeinitfr[ii] # supprimer le mot français de sa liste d'origine
del listeinitan[ii] # supprimer le mot anglais de sa liste d'origine
liste1fr.append(temporairefr) # faire apparaitre le mot (variable) dans la liste 1 fr
liste1an.append(temporairean) # faire apparaitre le mot (variable) dans la liste 1 an


def jhi (): # commande j'ai hésité
variablei ()
del listeinitfr[ii]
del listeinitan[ii]
liste2fr.append(temporairefr)
liste2an.append(temporairean)


def jspi (): # commande je n'ai pas su
variablei ()
del listeinitfr[ii]
del listeinitan[ii]
liste3fr.append(temporairefr)
liste3an.append(temporairean)



def cliquer_pour_reviser():



bouton_reviser.destroy() #pour que le bouton se supprime et laisse place aux flashcards
label.place_forget() #pour que le texte se supprime et laisse place aux flashcards, ça masque le label


for ii in range (0,(len(listeinitfr))): #Tant que l'indice du mot dans la liste est inferieur au nombre de termes de cette dernière
# afficher la carte en français
print (listeinitfr [ii]) #Afficher le terme de rang i
label_voc = Label(fen, text=listeinitfr[ii], font="corbel 13",fg="#ff8979", bg='white') #Afficher le mot
label_voc.place(x='630',y='380') #Position du mot

fen.bind("<space>", retourner_toutreviser) #associer l'evenement clavier à la fonction retourner_toutréviser() ci-dessus



canvas.create_rectangle(475,300,875,500, fill='white') # rectangle de la flashcard (dimensions, couleur)

#radiobutton sous rectangle

#v = StringVar()
#button1= Checkbutton(fen, text="J'ai su", variable=v, value=1, command = jsi)
#button1.place(x='475',y='525')
#button2= Checkbutton (fen, text="J'ai hésité", variable=v, value=1, command = jhi)
#button2.place(x='625',y='525')
#button3= Checkbutton (fen, text="Je n'ai pas su", variable=v, value=1, command = jspi)
#button3.place(x='780',y='525')

v=IntVar() # Variable de contrôle, mémorise un entier, sa valeur par défaut est 0

#Un groupe de boutons radio, radiobuttons, partage une variable de contrôle qui peut être utilisée pour connaître le bouton qui est
#actuellement coché. Quand l’utilisateur clique sur l’un des boutons d’un groupe, le mécanisme qui assure qu’un seul des boutons est
#coché à un moment donné s’appuie sur cette variable de contrôle partagée.
radiobutton1 = Radiobutton (fen, text="J'ai su", variable=v, value=1, command = jsi).place(x='475',y='525')
radiobutton2 = Radiobutton (fen, text="J'ai hésité", variable=v, value=2, command = jhi).place(x='625',y='525')
radiobutton3 = Radiobutton (fen, text="Je n'ai pas su", variable=v, value=3, command = jspi).place(x='780',y='525')

sauvegarde_de_ii (ii)

break





#_________________________________________________________________________________________________________________________________________________


# LISTE 1 : J'AI SU

i1=0 # rang

def sauvegarde_de_i1(i1):
i1=i1+1
pickle.dump(i1, open('savei1', 'wb'))



def retourner_jaisu () : # Cette fonction permet d'afficher le mot correspondant en anglais
print (liste1an [i1])
label_vc = Label(fen, text=liste1an[i1], font="corbel 13",fg="#ff8979", bg='white')
label_vc.place(x='630',y='380')

#changer les mots de liste
def variable1():
temporairefr = liste1fr[i1] # on met le mot dans une variable
temporairean = liste1an[i1]

def js1 (): #commande j'ai su
variable1()
del liste1fr[i1]
del liste1an[i1]
liste1fr.append(temporairefr)
liste1an.append(temporairean)

def jh1 (): #commande j'ai hésité
variable1()
del liste1fr[i1]
del liste1an[i1]
liste2fr.append(temporairefr)
liste2an.append(temporairean)

def jsp1 (): #commande je n'ai pas su
variable1()
del liste1fr[i1]
del liste1an[i1]
liste3fr.append(temporairefr)
liste3an.append(temporairean)

def cliquer_pour_reviser_js():


# bouton_reviser.destroy() #pour que le bouton se supprime et laisse place aux flashcards
#label.place_forget() #pour que le texte se supprime et laisse place aux flashcards, ça masque le label

while i1 <= (len(liste1fr)):
# afficher la carte en français
print (liste1fr [i1])
label_voc = Label(fen, text=liste1fr[i1], font="corbel 13",fg="#ff8979", bg='white')
label_voc.place(x='630',y='380')

#associer l'evenement clavier à l'appel de la fonction et changer le rang pour passer à la carte suivante
fen.bind("<space>", retourner_jaisu)



#rectangle de la flashcard
canvas.create_rectangle(475,300,875,500, fill='white')


#radiobutton sous rectangle

v=IntVar()

radiobutton1=Radiobutton (fen, text="J'ai su", variable=v, value=1, command= js1).place(x='475',y='525')
radiobutton2 = Radiobutton (fen, text="J'ai hésité", variable=v, value=2, command =jh1).place(x='625',y='525')
radiobutton3 = Radiobutton (fen, text="Je n'ai pas su", variable=v, value=3, command = jsp1).place(x='780',y='525')

sauvegarde_de_i1 (i1)

break
#_________________________________________________________________________________________________________________________________________________


# LISTE 2 J'AI HESITE

i2=0 # rang

def sauvegarde_de_i2(i2):
i2=i2+1
pickle.dump(i1, open('savei2', 'wb'))


# Cette fonction permet d'afficher le mot correspondant en anglais
def retourner_jh () :
print (liste2an [i2])
label_vc = Label(fen, text=liste2an[i2], font="corbel 13",fg="#ff8979", bg='white')
label_vc.place(x='630',y='380')

#changer les mots de liste
def variable2():
temporairefr = liste2fr[i2] # on met le mot dans une variable
temporairean = liste2an[i2]

def jh2 ():
variable2()
del liste2fr[i2]
del liste2an[i2]
liste2fr.append(temporairefr)
liste2an.append(temporairean)

def js2 (): #commande j'ai su
variable2()
del liste2fr[i2]
del liste2an[i2]
liste1fr.append(temporairefr)
liste1an.append(temporairean)

def jsp2 (): #commande je n'ai pas su
variable2()
del liste2fr[i2]
del liste2an[i2]
liste3fr.append(temporairefr)
liste3an.append(temporairean)


def cliquer_pour_reviser_jh():


# bouton_reviser.destroy() #pour que le bouton se supprime et laisse place aux flashcards
#label.place_forget() #pour que le texte se supprime et laisse place aux flashcards, ça masque le label

while i2 <= (len(liste2fr)):
# afficher la carte en français
print (liste2fr [i2])
label_voc = Label(fen, text=liste2fr[i2], font="corbel 13",fg="#ff8979", bg='white')
label_voc.place(x='630',y='380')

#associer l'evenement clavier à l'appel de la fonction et changer le rang pour passer à la carte suivante
fen.bind("<space>", retourner_jh)


#rectangle de la flashcard
canvas.create_rectangle(475,300,875,500, fill='white')


#radiobutton sous rectangle

v=IntVar()

radiobutton1=Radiobutton (fen, text="J'ai su", variable=v, value=1, command= js2).place(x='475',y='525')
radiobutton2 = Radiobutton (fen, text="J'ai hésité", variable=v, value=2, command = jh2).place(x='625',y='525')
radiobutton3 = Radiobutton (fen, text="Je n'ai pas su", variable=v, value=3, command = jsp2).place(x='780',y='525')


sauvegarde_de_i2 (i2)
#_________________________________________________________________________________________________________________________________________________


#JE N'AI PAS SU


i3=0 # rang

def sauvegarde_de_i1(i1):
i3=i3+1
pickle.dump(i3, open('savei3', 'wb'))

#changer les mots de liste

def variable3():
temporairefr = liste3fr[i3] # on met le mot dans une variable
temporairean = liste3an[i3]


def retourner_jsp():
print (liste3fr [i3])
bouton_reviser.destroy() #pour que le bouton se supprime et laisse place aux flashcards
label.place_forget() #pour que le texte se supprime et laisse place aux flashcards, ça masque le label


def jsp3 (): #commande je n'ai pas su
variable3()
del liste3fr[i3]
del liste3an[i3]
liste3fr.append(temporairefr)
liste3an.append(temporairean)

def js3(): #commande j'ai su
variable3()
del liste3fr[i3]
del liste3an[i3]
liste1fr.append(temporairefr)
liste1an.append(temporairean)

def jh3 (): #commande j'ai hésité
variable3()
del liste3fr[i3]
del liste3an[i3]
liste2fr.append(temporairefr)
liste2an.append(temporairean)


def cliquer_pour_reviser_jsp():


# bouton_reviser.destroy() #pour que le bouton se supprime et laisse place aux flashcards
#label.place_forget() #pour que le texte se supprime et laisse place aux flashcards, ça masque le label

while i3 <= (len(liste3fr)): #Tant que l'indice du mot dans la liste est inferieur au nombre de termes de cette dernière

# afficher la carte en français

print (liste3fr [i3]) #Afficher le terme de rang i
label_voc = Label(fen, text=liste3fr[i3], font="corbel 13",fg="#ff8979", bg='white') #Afficher le mot
label_voc.place(x='630',y='380') #Position du mot



fen.bind("<space>", retourner_jsp()) #associer l'evenement clavier à l'appel de la fonction et changer le rang pour passer à la carte suivante



#rectangle de la flashcard

canvas.create_rectangle(475,300,875,500, fill='white')

#radiobutton sous rectangle

v=IntVar()

radiobutton1=Radiobutton (fen, text="J'ai su", variable=v, value=1, command=js3).place(x='475',y='525')
radiobutton2 = Radiobutton (fen, text="J'ai hésité", variable=v, value=2, command =jh3).place(x='625',y='525')
radiobutton3 = Radiobutton (fen, text="Je n'ai pas su", variable=v, value=3, command =jsp3).place(x='780',y='525')



sauvegarde_de_i3 (i3)

#_________________________________________________________________________________________________________________________________________________


# BASE DE L'INTERFACE GRAPHIQUE TKINTER

#_________________________________________________________________________________________________________________________________________________


fen = Tk() # création de la fenêtre principale
fen.title("ZE flashcards") #nom du logiciel
fen.attributes ('-fullscreen', 1) #ouverture de la fenêtre en plein écran


#Creation du canva contenant le titre (le titre est une photo d'un titre travaillé sur Paint)
canvas = Canvas(fen, width="1366", height="768", background="#e6e6e6")
photo = PhotoImage(file ='titre.gif')
item = canvas.create_image(650, 50, image = photo)

photo_fermer = PhotoImage(file='croix.gif')
bouton_quitter = Button(fen,image=photo_fermer, relief= "flat", overrelief="flat",command=fen.destroy) #bouton quitter
bouton_quitter.place(x="1310",y="0")#affichage bouton quitter

cadre = Frame(fen, borderwidth=0) #cadre pour mettre le menu principal

#menu principal: boutons contenu dans un Frame
bouton1 = Button(cadre, text="J'ai su", width=49, font="Arimo", fg="#ffffff", background="#a6a6a6", relief= "flat", overrelief="flat", cursor="star", borderwidth=8, command=cliquer_pour_reviser_js) #fg=couleur du texte
bouton1.grid(row=0, column=0)
bouton2 = Button(cadre, text="J'ai hésité", width=48, font="Arimo", fg="#ffffff", background="#a6a6a6", relief= "flat", overrelief="flat", cursor="exchange", borderwidth=8, command=cliquer_pour_reviser_jh)
bouton2.grid(row=0, column=1)
bouton3 = Button(cadre, text="Je n'ai pas su", width=48, font="Arimo", fg="#ffffff", background="#a6a6a6", relief= "flat", overrelief="flat", cursor="pirate", borderwidth=8, command=cliquer_pour_reviser_jsp)
bouton3.grid(row=0, column=2)

#explcations du logiciel grâce à un Label
texte = "Bonjour et bienvenue sur ZE FLASCARDS !\n\n Ce logiciel vous aidera à apprendre de nombreux mots de vocabulaire en anglais !\n Pour vos révisions, un mot en français sera affiché sur une flashcard, en appuyant sur la touche « espace » de votre clavier, vous retournerez la carte afin d’afficher la traduction du mot en anglais. \n\n A vous désormais d’indiquer à l’aide des trois boutons disposés sous la carte, si vous avez parfaitement su le mot, si vous avez hésité ou bien si vous ne le connaissiez pas du tout. \nCela vous permettra par la suite de réviser uniquement les mots sur lesquels vous avez hésité, ou bien ceux que vous ignoriez mais aussi ceux que vous connaissiez déjà pour ne pas les oublier.\n\n Bon apprentissage !"
label = Label(fen, text=texte, wraplength = 800, justify = LEFT, font="corbel 13", bg="#e6e6e6")
label.place(x='275',y='250')

#lien pour aller réviser à partir d'un bouton
bouton_reviser = Button (fen,text="Je vais réviser :)",font="candara 14 bold",fg="#ff8979",overrelief="flat", background="#e6e6e6", relief="flat", cursor="hand2", command= cliquer_pour_reviser)
bouton_reviser.place(x='650',y='550')


cadre.place(x='0',y='100') #afficher dans la fenêtre le petit menu
canvas.pack() #afficher dans la fenêtre le canvas


fen.mainloop()
0
_Ritchi_ Messages postés 21210 Date d'inscription samedi 17 mars 2007 Statut Contributeur Dernière intervention 20 avril 2024 6 058
Modifié le 2 juin 2019 à 17:02
Bonjour,

C'est gentil de copier tout ton code mais en le faisant sans respecter le process, il est incompréhensible car ton copié/collé a fait disparaitre toutes les indentations qui sont les piliers du Python
Il faut suivre ceci pour que ton code soit lisible/compréhensible:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Ritchi
0
yg_be Messages postés 22724 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
2 juin 2019 à 18:54
pourquoi faire un boucle et en sortir au premier tour?
dans quel cas voulez-vous arrêter la boucle?
0