Bonjour , je suis en terminale SSI et je dois faire un programme Python (C'est la première fois que j'apprend à coder) l’énoncé est :

On dispose de 100€, on mise une somme au choix sur un nombre entre 1 et 9.
Un nombre entre 1 et 9 est tiré au hasard. Si on obtient le numéro gagnant, la mise est multipliée par 7 et revient au joueur ( en plus de sa mise) sinon la mise est perdue.

J'ai réussi à faire ce programme je me suis donc lancé le défi de lui faire une interface. Et c'est là ou je rencontre un problème. L'interface s'affiche et tout fonctionne mais, je ne parviens pas a faire rejouer le programme plusieurs fois d'affilé jusqu'à ce que le joueur n'ai plus d'argent ou qu'il veuille quitter le jeu. J'ai essayé de faire rejouer la fonction "jeu" quand le joueur clique sur rejouer mais ça ne marche pas. Excusez moi pour tous les items/variables qui ont des noms mal organisés.


Le programme que j'ai écrit pour le jeu sans interface :

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
import random
 
continuer=1
argent=100
 
while argent!=0:
    print("Tu as ",argent,"€ de disponible.")
    mise=int(input("Combien veux-tu miser ?"))
    while mise>argent or mise<1:
        mise=int(input("Combien veux-tu miser ?"))
    choix=int(input("Choisis un chiffre entre 1 et 9 ?"))
    while choix>10 or choix<0:
        choix=int(input("Choisis un chiffre entre 1 et 9 ?"))
    r=random.randrange(1,10)
 
    if choix==r:
        argent=mise*7+mise+argent
        print("BRAVO ! Il te reste :",argent,"€")
        print("Le chiffre gagnant était :",r)
        while continuer!="oui" or continuer!="non":
            continuer=str(input("Veux tu rejouer ? Oui ou Non ?"))
            if continuer=="oui":
                print("C'est reparti pour un tour !")
                break
            else:
                if continuer=="non":
                    print("Au revoir, tu repars avec ",argent,"€.")
                    argent=0
                    break
 
    else:
        argent=argent-mise
        print("Tu as perdu",mise,"€",)
        print("Il te reste ",argent,"€ dans ton porte monnaie.")
        print("Le chiffre gagnant était :",r)
        while continuer!="oui" or continuer!="non":
            continuer=str(input("Veux tu rejouer ? Oui ou Non ?"))
            if continuer=="oui":
                print("C'est reparti pour un tour !")
                break
            else:
                if continuer=="non":
                    print("Au revoir, tu repars avec",argent,"€.")
                    argent=0
                    break
_________________________________________________________________

Le programme avec interface mais qui ne fonctionne qu'une seule fois :

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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
import random
from tkinter import *
 
root = Tk()
 
root.title('Jeu de Casino')
 
 
#Item 1 est la mise
mise_box = IntVar()
mise_txt =Label(root, text="Votre mise :")
mise_txt.grid(row=0,sticky=E)
mise_box = Spinbox(root, state='readonly', from_= 1, to = 100, width = 5)
mise_box.grid(row = 0, column = 1)
 
#Item 2 est le nombre sur lequel on mise
item_2 = IntVar()
chiffre_txt=Label(root, text="Votre chiffre :")
chiffre_txt.grid(row=1,sticky=E)
chiffre_box = Spinbox(root, state='readonly' , from_= 1, to = 9, width = 5)
chiffre_box.grid(row = 1, column = 1)
 
StockArgent=100
 
#Fonction jeu = fait tourner le programme pour les valeurs choisies
def jeu():
    r=str(random.randrange(1,10))
    print(r)
    #On met la valeur choisie de 1 à 100 dans mise
    mise = int(mise_box.get())
 
    #On met la valeur choisie du chiffre de 1 à 9 dans choix
    choix = chiffre_box.get()
 
    #Récapitule ce qu'on vient de faire
    Resultat= "Tu as misé " + str(mise) + "€ sur le numero " + str(choix) + "!"
    txt.insert(0.0,Resultat)
    txt.configure(state='disabled')
 
    argent=StockArgent
    #Calculs
    if choix==r:
        argent=mise*7+mise+argent
        #Rend le text editable
        txt.configure(state='normal')
        txt.insert(3.0,"\nBRAVO ! Il te reste :"+str(argent)+"€"+"\nLe chiffre gagnant était :"+ str(r) + "!")
        #Rend le txt ineditable
        txt.configure(state='disabled')
        bouton_confirmer.config(state="disabled")
        rejouer()
    else:
        argent=argent-mise
        txt.configure(state='normal')
        txt.insert(3.0,"\nTu as perdu "+str(mise)+"€"+"\nIl te reste "+str(argent)+"€ dans ton porte monnaie."+"\nLe chiffre gagnant était :"+str(r))
        txt.configure(state='disabled')
        bouton_confirmer.config(state="disabled")
        rejouer()
 
 
#Veux quitter le jeu
def rejouer_non():
    root.destroy()
 
 
def rejouer_oui():
    #Reset mise_box
    txt.configure(state='normal')
    txt.delete(0.0,'end')
 
    mise_box = Spinbox(root, state='readonly', from_= 1, to = 100, width = 5)
    mise_box.grid(row = 0, column = 1)
 
    #Reset chiffre_box
    chiffre_box = Spinbox(root, state='readonly' , from_= 1, to = 9, width = 5)
    chiffre_box.grid(row = 1, column = 1)
 
    bouton_confirmer.config(state="normal")
 
    bouton_oui.destroy()
    bouton_non.destroy()
    rejouer_box.destroy()
 
 
def rejouer():
    #Text Veux tu rejouer...
    rejouer_box =Label(root, text="Voulez-vous rejouer ?")
    rejouer_box.grid(row=7,columnspan=3)
 
    #Bouton pour demander si on veut rejouer ici: Oui
    bouton_oui = Button(root, text = 'Oui', width = 10, command =rejouer_oui)
    bouton_oui.grid(row = 8, column= 1,sticky=E)
 
    #Bouton pour demander si on veut rejouer ici: Non
    bouton_non = Button(root, text = 'Non', width = 10, command =rejouer_non)
    bouton_non.grid(row = 8, column=2,sticky=W)
 
 
#Bouton Confirmer pour faire tourner le programme
bouton_confirmer = Button(root, text = 'Confirmer', width = 20, command =jeu)
bouton_confirmer.grid(row = 1, column = 2)
 
#Boite de réponses
txt=Text(root, width=40, height=4, wrap=WORD)
txt.grid(row=2, columnspan=3, sticky=W)
 
 
root.mainloop()


Merci d'avance

_____________________________________________________________________