Bonjour,
Voila j'ai un petit problème, car je voudrais en fait que mon programme lancer un autre programme
Comme vous pouvez le voir ci dessous
voici le code du programme
ci quelqu'un peut m'aider merci bcp

Code python : 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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
 
# Fonction du jeu "Le compte est bon" mode ordre
def lcebordre():
 
    # Construction de la liste de nombres autorisés
    nombres = []
    nombres.extend(range(1,11)) # Tous les chiffres de 1 à 10
    nombres.extend(range(1,11)) # Tous les chifffres de 1 à 10
    nombres.extend([25,50,75,100]) # une fois chaque multiple de 25 jusqu'à 100
    # Liste contruite par les 3 lignes précédentes
    #nombres = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10, 25, 50, 75, 100]
 
    # Liste des 4 opérateurs
    ops = '*+/-'
 
    # Avant le tirage la liste des nombres tirés au sort est vide
    current_list=[]
 
    ##Definition de l'objectif - Tirage des 6 nombres
 
    # Objectif et tirage pour le jeu normal :
    obj=randint(100,999) # 100 <= Objectif < 1000
    current_list = tirage(nombres)
 
 
    # Sauvegarde de la liste initiale pour la recherche automatique de solution
    saved_current_list = list(current_list) 
    ##Début du jeu
    print('\t# Tirage initial :' ,current_list, '- objectif :', obj, '#')
    print()
 
 
    win = False # Le joueur n'a pas encore gagné
    play = True # Le jeu est en cours
    ##Le joueur commence
    coups = 0 # Nombre de coups joués
    while len(current_list)!=1 and not win and play : # tant que la liste n'est pas vide, la solution n'a pas été trouvée, le joueur n'a pas interrompu le jeu...
        nb1=current_list[0]
        nb2=current_list[1]
        print(Joueur, ', entrez votre opération ou "f" si terminé ou "h" pour voir les règles:')
        print(nb1, '...', nb2, '?')        
 
        # Lecture de l'opérateur
        op, play = lire_operateur(play, coups, ops)    
        current_list.pop(current_list.index(nb1))
        current_list.pop(current_list.index(nb2))
        if not play: break
 
        # Calcul de l'opération choisie par le joueur
        res = operations(nb1,nb2,op) 
        if type(res) is str: # division non entière ou soustraction négative
            print('opération non valide, reprenez')
            current_list.insert(0,nb1) # on remet dans la liste les nombres saisis
            current_list.insert(1,nb2)
            continue  
 
        if res == obj: # si la solution est trouvée
            win=True # Le joueur a gagné
 
        # Affichage de l'opération saisie    
        print('\t\t###', nb1, op, nb2, '=' , res, '###' )
        print()    
        coups+=1 # on incrémente le nombre de coups
        current_list.insert(0,res) # on ajoute le résultat courant à la liste
        if (len(current_list) != 1):
            print('\t# Tirage courant :' ,current_list, '- objectif :', obj, '#')
 
 
    if win: # si c'est gagné
        print()    
        print('### GAGNE en ', coups, ' coups : LE COMPTE EST BON !!! ###')
    else: # si c'est perdu
        # on cherche le nombre le plus proche de l'objectif
        # on fabrique une liste qui contient les ecarts avec l'objectif (en valeur absolue)    
        diff = [abs(x - obj) for x in current_list]
        # on cherche le minimum de cette liste
        mini = min(diff)
        print('### PERDU !!! Vous avez atteint ', current_list[diff.index(mini)], '(objectif :', obj,') ###')
 
 
    print()
    print("### Patientez, l'ordinateur recherche la solution...")
    print("### ...")
 
    ops = '*+/-'
    ##Recherche automatique de la solution
    best_exp = '' # Meilleure expression 
    best_val = 1e9 # Valeur la plus proche de l'objectif
    start_time = time.time() # on démarre le chrono
 
 
    saved_current_list=[str(x) for x in saved_current_list]
 
        # on fabrique aussi toutes les permutations possibles des 4 opérateurs
    for (v, w, x, y, z) in product(ops, ops, ops, ops, ops):
 
 
            # expression à 2 nombres et 1 opérateur
        exp = '(' + saved_current_list[0] + v + saved_current_list[1] + ')' # construction de l'expression (strings)
        ev = eval(exp) # on évalue l'expression     
        if (ev != int(ev)): continue # si elle n'est pas entière on passe à la combinaison suivante
        if (ev <= 0): continue# si elle est négative on passe à la combinaison suivante
        if (abs(ev-obj) < abs(best_val - obj)): # si elle est meilleure que celles rencontrees jusqu'à présent
             best_val = ev
             best_exp = exp
             print('\t', exp, '=', ev)
        if best_val == obj: break # si la solution est trouvée
 
            # expression à 3 nombres et 2 opérateurs
        exp = '(' + exp + w + saved_current_list[2] + ')'
        ev = eval(exp)      
        if (ev != int(ev)): continue
        if (ev <= 0): continue
        if (abs(ev-obj) < abs(best_val - obj)):
            best_val = ev
            best_exp = exp
            print('\t', exp, '=', ev)
        if best_val == obj: break
 
        # expression à 4 nombres et 3 opérateurs
        exp = '(' + exp + x + saved_current_list[3] + ')'
        ev = eval(exp)     
        if (ev != int(ev)): continue
        if (ev <= 0): continue
        if (abs(ev-obj) < abs(best_val - obj)):
            best_val = ev
            best_exp = exp
            print('\t', exp, '=', ev)
        if best_val == obj: break
 
        # expression à 5 nombres et 4 opérateurs    
        exp = '(' + exp + y + saved_current_list[4] + ')'
        ev = eval(exp)      
        if (ev != int(ev)): continue
        if (ev <= 0): continue
        if (abs(ev-obj) < abs(best_val - obj)):
            best_val = ev
            best_exp = exp
        print('\t', exp, '=', ev)
        if best_val == obj: break
 
        # expression à 6 nombres et 5 opérateurs    
        exp = '(' + exp + z + saved_current_list[5] + ')'
        ev = eval(exp)      
        if (ev != int(ev)): continue
        if (ev <= 0): continue
        if (abs(ev-obj) < abs(best_val - obj)):
                best_val = ev
                best_exp = exp
                print('\t', exp, '=', ev)
        if best_val == obj: break
 
    end_time = time.time() # on arrete le chrono
 
 
    print('### Meilleure solution : {} = {} trouvée en {:.3f} s'.format(best_exp, best_val, end_time - start_time) )  
 
#Création du programme final
def lceb():
 
    print()
    print('########################################')
    print('#                                      #')
    print('#          LE COMPTE EST BON           #')
    print('#                                      #')
    print('########################################')
    print()
    Joueur=str(input('Quel est votre prénom ? '))
    print()
    print()
    print(Joueur," veuillez lire les consignes de jeux qui s'affichent, merci")
    time.sleep(4)
    os.startfile("consigne lceb.pdf")
    time.sleep(2)
    print()
    print()
    print("Vous avez donc le choix entre trois modes de jeux, lequels voulez vous choisir?")
    print()
    mode='123'
    opok = False # True lorsque le nombre saisi est correct
    while not opok: # Tant que le nombre n'est pas parmi 1,2,3
        print("Taper le '1' pour le mode normal, le '2' pour le mode opération et enfin le '3' pour le mode ordre")
        nb = input() # On demande un opérateur
        if nb in mode: # l'opérateur entré est valide
            opok = True
    n=0
    if nb == 1:
        n=lcebnormal()
    elif nb == 2:
        n=lceboperation()
    elif nb == 3:
        n=lcebordre()
    return n