Menu python

Fermé
Ganon358 - Modifié le 4 févr. 2022 à 23:54
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 7 févr. 2022 à 15:00
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
5 févr. 2022 à 10:31
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 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168
Modifié le 5 févr. 2022 à 12:10
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 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168
Modifié le 7 févr. 2022 à 15:02
.... 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