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
| from tkinter import *
from random import *
from time import *
f=open('liste élèves.txt','r') ### OUVERTURE DU FICHIER EN MODE READ
liste_eleve=[] ### On déclare la liste des élèves et la liste des élèves choisis
liste_elus=[]
for i in f: ### Pour chaque nom d'élève dans le fichier
i=i.replace('\n','') ### On enlève les retours à la ligne (ou \n)
liste_eleve.append(i) ### Et on ajoute chaque nom dans la liste liste_eleve
### on définit la fonction défilement, défilant les noms des élèves et qui s'arrete au nom de l'élève choisit
def defilement():
pl=295
n=int(texte.get()) ### on définit n le nombre de devoirs entré dans l'entrée
### pour chaque devoir à ramasser, on exécute l'algorithme suivant
for i in range(n):
h=choice(liste_eleve) ### h est définit comme le nom tiré au hasard
### pour chaque élève dans la liste, on affiche chaque nom et le programme s'arrête quand le nom tiré au hasard est affiché
for u in range(0,len(liste_eleve)):
lbl1.pack()
lbl1['text']=liste_eleve[u]
lbl1.place(x=75,y=100)
sleep(0.2)
lbl1.pack_forget()
sleep(0.2)
if liste_eleve[u]==h:
break ### break ici arrête le programme si le nom affiché est le nom choisi au hasard
liste_eleve.remove(h) ### on enlève de la liste d'élève le nom choisi et on le rajoute à la liste des élus
liste_elus.append(h)
lbl=Label(top, text=h, font=("Arial",8, "bold italic"), background="black", fg="red").place(x=10,y=pl) ### on met chaque élève dans un label
pl=pl+15
for nom in liste_elus:
liste_eleve.append(nom)
def recommencer():
can=Canvas(top, width="370",height="220", background="black", bd=0).place(x=0,y=290)
### à partir de là, on crée l'affichage qui doit afficher à la façon d'un jackpot les noms des élèves et s'arrête au nom de l'élu
top= Tk()
top.geometry("372x550+500+200")
top.title("Programme de ramassage de devoir")
top.resizable(width=False,height=False)
img = PhotoImage(file = "jackpot.png")
lebel = Label(top, image = img)
lebel.place(x="0",y="0")
def action():
canvas.coords(texte,"225","75")
canvas=Canvas(top, width="372", height="310", background="black")
canvas.place(x='0',y='200')
texte=canvas.create_text("170","80",text="Le(s) nom(s) de(s) l'élève(s) dont le devoir est à ramasser est (sont):", font="Arial 8",fill="white")
texte2=canvas.create_text("120","20",text="Entrez le nombre de devoirs à ramasser:", font="Arial 10",fill="white")
can1=Canvas(top, width="370",height="220", background="black").place(x=0,y=290)
can2 = Canvas(top, height = 100, width = 225, bg = 'gold').place(x=75,y=60)
lbl1=Label(can2, font=("Arial",10, "bold italic"))
typ=IntVar()
label=Label(top)
label['fg']='blue'
label.place(x='00',y='530')
texte = Entry(top,width=3, font=("arial",20),textvariable=typ)
texte.place(x="10",y="230")
bouton1= Button(top, text="Lancer",command=defilement).place(x=100,y=235)
Bouton_recommencer=Button(top, text='Réinitialiser', command=recommencer).place(x=170,y=235)
BoutonQuitter= Button(top, text='Quitter', command=top.destroy)
BoutonQuitter.place(x=160,y=520)
f.close() ### FERMETURE DU FICHIER
top.mainloop() |
Partager