IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Aide Python - Nouveau en programmation / Question


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    dad
    Inscrit en
    Novembre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : dad
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2014
    Messages : 3
    Par défaut Aide Python - Nouveau en programmation / Question
    Bonjour,

    C'est mon premier cour de Python a l'ecole et j'aimerais bien tenter de reussir mon premier travail, mais j'ai de la misere a comprendre certaine chose.

    Je dois cree deux menu qui m'affiche des options et dependemmant des options cela fait des operations differentes.

    Ma question est pour mon premier menu, que dois-je rajouter dans le code pour que lorsque je pese sur 1, il ouvre le deuxieme menu ?

    Voici mon code :
    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
     
    __author__ = 'Loïc'
     
    if __name__ == '__main__':
        print("------------Mon premier essai PRE-TP------------")
     
     
     
    print("--------------------Menu------------------")
    print("1- Manipuler des données selon votre choix.")
    print("2- Trier trois entiers en ordre decroissant.")
    print("3- Produire les facteurs d'un d'un entier positif.")
    print("4- Trouver la racine carree d'un entirer positif.")
    print("5- Afficher un sablier de N lignes et N colonnes.")
    print("0- Quitter.")
    print("------------------------------------------")
     
    loop = 1
     
    while loop == 1:
        choix = input("Entrez s.v.p un nombre entre 0 et 5:? ")
        choix = int(choix)
        loop = 0
        if choix == 1:
            print("--------------------Menu2------------------")
            print("1- Calculer la moyenne de deux nombres.")
            print("2- Calculer le carré d'nombre")
            print("3- Indiquer si un nombre est un multiple de 5.")
            print("0- Revenir au menu principal.")
            print("------------------------------------------")
        if choix == 1:
            moy1 = input("Entrez s.v.p un premier nombre: ")
            moy2 = input("Entrez s.v.p un second nombre: ")
            moy1 = int(moy1)
            moy2 = int(moy2)
            print("La moyenne des deux nombres est:", (moy1 + moy2) / 2)
        if choix == 2:
            car1 = input("Entrez un nombre: ")
            car1 = int(car1)
            print("Le carre de ce nombre est: ", (car1**2))

  2. #2
    Membre émérite
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Par défaut
    Citation Envoyé par molymonade Voir le message
    Bonjour,

    C'est mon premier cour de Python a l'ecole et j'aimerais bien tenter de reussir mon premier travail, mais j'ai de la misere a comprendre certaine chose.

    Je dois cree deux menu qui m'affiche des options et dependemmant des options cela fait des operations differentes.

    Ma question est pour mon premier menu, que dois-je rajouter dans le code pour que lorsque je pese sur 1, il ouvre le deuxieme menu ?

    Voici mon code :
    Bonsoir,
    En premier lieu, pour "motiver" un peu les lecteurs, il est conseillé d'utiliser les balises [ [ CODE ][ / CODE ] (bouton # lors de la création du message).
    Cela permet de respecter l'indentation si indispensable en Python.

    En second lieu, pour répondre à ta question:
    -> un menu suppose des boucles (de manière à pouvoir revenir au menu):
    => il faut une première grande boucle globale de manière à tester l'option "quitter"
    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
    quitter = False         # pour entrer dans la boucle
    while not quitter:
        print("Menu:")
        # Autres options
        print("0: quitter")
     
        question = int(input("quelle option?"))
     
        # Traitement des différentes options du style:
        # if question == 1:
            # Traitement
        # elif question == 2:
            # traitement
        # elif …
     
        if question == 0:   # test
            quitter = True  # on termine le script en sortant de la boucle principale
    C'est l'une des possibilité de structure de base d'un seul menu!
    C'est ensuite dans le traitement des options du premier menu qu'il est possible de faire apparaître de nouveaux menus!!

    Mais si cela est possible, l'utilisation de fonctions rendrait le code nettement plus lisible! Et véritablement plus maintenable…

    Clodion

    PS: il y a plusieurs possibilités pour l'agencement des menus, mais le plus général est de la forme:

    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
    Menu1
        option1
        Menu2
            option1
            option2
            retour
        fin Menu2
        option2
        Menu3
            option1
            retour
        fin Menu3
        retour
    fin Menu1
    fin du script

  3. #3
    Membre émérite
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Par défaut
    Citation Envoyé par molymonade
    Bonjour,

    Je voulais te dire que votre reponse m'a aider et j'apprecie cela !

    Dans mon travail, je dois bien formuler mes fonctions dans un fichier fonction: …

    et compléter certaines lignes dans le fichier Principal : …

    __________________________________________________________________________________

    Pour ce qui est encore sur les menus, je ne suis pas sur de comprendre ce que je dois rajouter dans la partie du code pour que lorsque je démarre le programme, si je rentre : 1 , il tombe au deuxième menu.

    Je vous remercie FORTEMENT.

    (PS, ceci est mon premier cour de python, alors je m'excuse de ma Noobeté)
    Bonjour,
    Il suffit de mettre aussi le menu2 dans une fonction!
    Dans le menu1 (s'il est dans une fonction ou une boucle while):
    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
    def reponse(message = "votre choix:"):
        """Renvoie la réponse à un menu: réponse est un entier"""
        rep_valide = False
        while not rep_valide:
            question = input(message)
            if question.isdigit():
                question = int(question)
                rep_valide = True
        return question
     
    def calcul1():
        print("calcul1")
        return
     
    def calcul2():
        print("calcul2")
        return
     
    def menu2():
        print("__MENU 2__")
        print("1: calcul2")
        print("0: quitter")
        la_reponse = reponse()
        if la_reponse == 1:
            calcul2()
        elif la_reponse == 0:
            return True
        else:
            print("Réponse non valide")
     
    def menu1():
        print("__Menu 1__")
        print("1: menu2")
        print("2: calcul1")
        print("0: quitter")
        la_reponse = reponse()
        if la_reponse == 1:
            menu2()
        elif la_reponse == 2:
            calcul1()
        elif la_reponse == 0:
            return True
        else:
            print("Réponse non valide")
     
    quitter = False         # pour entrer dans la boucle
    while not quitter:
        quitter = menu1()
    C'est une possibilité!
    Sinon, dans le premier script, il faut reposer la question à l'utilisateur (avant la ligne 31) et faire une indentation supplémentaire pour ne pas rester au niveau du premier menu!! (PS du post précédent)
    C'est là que les fonctions rendent la chose plus "visible" et nettement plus parlantes.

    Clodion

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/06/2015, 12h28
  2. [Language] Aide sur mon premier programme Java?
    Par hash2zo dans le forum Langage
    Réponses: 15
    Dernier message: 27/09/2005, 19h26
  3. [TPW][cours]Demande d'aide pour finir un programme
    Par jf dans le forum Turbo Pascal
    Réponses: 21
    Dernier message: 16/06/2003, 18h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo