Menu python

Ganon358 -  
Phil_1857 Messages postés 1956 Statut Membre -
Bonjour,

j'ai crée plusieurs programme en python et je doit créer un menu pour pouvoir activer le programme qu'on veut, hélas mon menu ne fonctionne pas et je sais pas quoi faire

# Fonction qui permet de lançer les éxos avec un TP
def menu():
    while True:
        try:
            print("\n\nListe des exercices disponibles :\n")
            print("\n\nTP2 Python\n")
            print("1: Le plus grand")
            print("2: le Tiercé")
            print("3: Résoudre une équation du second degré")
            print("4: Programmer une suite")
            print("5: Calcul de Surface")
            print("6: Développement limiter")
            print("7: Fibonacci")
            print("8: Le nombre d’or & Fibonacci")
            print("0: Quitter\n")
            X=input("Entrer l'éxercice : ")
            print("\n\n\n")
            if X==1:
                TP2_1()
            elif X==2:
                TP2_2()
            elif X==3:
                TP2_3()
            elif X==4:
                TP2_4()
            elif X==5:
                TP2_5()
            elif X==6:
                TP2_6()
            elif X==7:
                TP2_7()
            elif X==8:
                TP2_8()
        except:
            print("Tchao, vous avez intérré à me mettre 20.")
            exit()




EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

3 réponses

JulesBourillon
 
Je suis pas sur d'avoir bien compris mais là ta fonction est juste définie, elle n'est pas activée. Pour cela tu devrais la mettre dans une boucle ou juste l'appeler :

menu() #permet de l'activer une fois

while True:#permet de l'activer indéfiniment
menu()
0
Phil_1857 Messages postés 1956 Statut Membre 168
 
Bonjour,

Moi, je ferais comme ça:
import os

menu = '''
1:   Le plus grand
2:   le Tiercé
3:   Résoudre une équation du second degré
4:   Programmer une suite
5:   Calcul de surface
6:   Développement limité
7:   Fibonacci
8:   Le nombre d’or & Fibonacci
0:   Quitter
> '''

choix = ''

while(not choix in [0,1,2,3,4,5,6,7,8]):
    os.system('cls' if os.name=='nt' else 'clear')
    print('\n' + '''Liste des exercices disponibles : (TP2 Python)'''.center(50,'*'))
    choix = int(input(menu))

if(choix == 1):
    TP2_1()
elif(choix == 2):
    TP2_2()
etc .........
0
Phil_1857 Messages postés 1956 Statut Membre 168
 
.... et même, pour éviter une longue suite de tests if pour lancer le TP:

    choix = int(input(menu))

if(choix != 0): eval('TP2_'+str(choix))()
0