Partage
  • Partager sur Facebook
  • Partager sur Twitter

programme python pour gérer voyageur dans un avion

Sujet résolu
Anonyme
    3 mars 2021 à 18:12:57

    bonjour je vous mets l'énoncé du problème, j'essaye de coder ça depuis 3 jours mais je n'y arrive pas, je n'arrive ni à dormir ni à faire autre chose, merci pour votre aide.

    ·On veut écrire une classe Avion qui regroupe un ensemble devoyageurs.

    ·Les voyageurs seront associés à des places numérotées en partant de1.

    ·Le nombre de places dans l’avion est fixé à 500places

    Questions :

    1.Écrire une classe Voyageur qui permet de décrire unvoyageur

    2.Écrire la classeAvion avec :

    a.Une méthode AfficherInfo permettant d’afficher la liste des voyageurs del’avion

    b.Une méthode getVoyageur qui prend en paramètre un numéro de passeport d’un voyageur et qui retourne le numéro de place occupée par le voyageur. Si le voyageur n’existe pas la méthode retourne un message d’erreur.

    c.Une méthode AttributionPlace qui prend en paramètres un objet Voyageur, un numéro de place et qui associe un voyageur à une place si elle est encore libre, sinon retourne un message d’erreur.

    d.Une méthode LibererPlace qui prend en paramètre un numéro de place et retire le voyageur de la place. La méthode retourne les coordonnées du voyageur retiré de la place. Si la place est déjà libre la méthode retourne un message d’erreur.

    • Partager sur Facebook
    • Partager sur Twitter
      3 mars 2021 à 18:35:11

      As-tu écrit du code? Même s'il est partiel ou te semble mauvais, ça va nous donner une idée comment t'aider.
      Tu connais les méthodes à coder même si tu ne sais pas comment.
      L'attribut majeur de ton avion est la liste des places (500 places)
      Pour chaque place, de quoi as-tu besoin? Si elle est occupée ou libre. Si elle est occupée, c'est par quel voyageur.
      Quels sont les attributs des voyageurs dans leur classe? S'ils sont dans l'avion ou pas. S'ils cherchent une place, le numéro de passeport, etc.
      • Partager sur Facebook
      • Partager sur Twitter

      Le Tout est souvent plus grand que la somme de ses parties.

        3 mars 2021 à 18:59:55

        utilise la balise de code (bouton </>) pour mettre ton code, ça sera beaucoup plus lisible
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          3 mars 2021 à 19:11:19

          c

          -
          Edité par Anonyme 6 mars 2021 à 20:39:46

          • Partager sur Facebook
          • Partager sur Twitter
            3 mars 2021 à 19:32:14

            #Tu dois te mettre dans le contexte d'un véritable aéroport.
            Tu as des avions, tu pourrais n'en définir qu'un seul ou plusieurs.
            Tu as des voyageurs qui attendent une place pour un avion.
            La liste des voyageurs ne doit pas faire partie des attributs de l'avion.
            Tu dois initialiser la liste des voyageurs en dehors des méthodes de l'avion.
            Comment définis-tu les attributs d'un voyageur, il n'y a pas de paramètre pour son __init ?
            Il te faudrait une ou des méthodes pour changer les attributs d'un voyageur, entre autre le numéro de l'avion et le numéro de place.
            Ça te servira lors de l'assignation d'une place à un voyageur.
            Tu as dit que ton avion contient 500 places.
            Quand tu crée ton avion, tu peux tout de suite créer tes 500 places, mais tu les marques comme vides (passeport = 0 par exemple)
            Que doit faire la méthode afficherInfo? Le append ne me semble pas utile.
            Évites de faire des print ou des input dans une méthode ou une classe.
            C'est une méthode de la classe avion qui gère les places.
            C'est elle qui associe un objet de la classe voyageur à une place et qui appelle une méthode de la classe voyageur pour faire le changement pour le voyageur.
            Je ne sais pas si tu commences à comprendre le principe ...
            • Partager sur Facebook
            • Partager sur Twitter

            Le Tout est souvent plus grand que la somme de ses parties.

              4 mars 2021 à 1:38:25

              L'énoncé est complètement bancale. Par exemple, getVoyageur retourne un numéro de place ...

              • Partager sur Facebook
              • Partager sur Twitter

              Python c'est bon, mangez-en. 

                4 mars 2021 à 2:18:46

                En relisant l'énoncé, je me suis demandé si c'était un problème imposé ou si c'est au choix du PO.
                Les noms de fonction me semblent bizarres.
                On ne sait pas vraiment ce que les fonctions doivent retourner.
                Retourner un message d'erreur est loin d'être pratique.
                Je pense qu'il faudrait revoir l'énoncé.
                • Partager sur Facebook
                • Partager sur Twitter

                Le Tout est souvent plus grand que la somme de ses parties.

                Anonyme
                  4 mars 2021 à 4:22:47

                  je vous remercie pour votre aide elle m'ai précieuse je demanderai demain pendant les heures de cours pour les détails et les explications supplémentaires, merci encore une fois.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    4 mars 2021 à 11:02:55

                    La déclaration de ta fonction getVoyageur ne correspond pas à la demande, tu ne lui passe pas de voyageur.

                    Pourquoi un voyageur aurait un nb_place ? c'est "l'avion" qui gère les places (puisque ce sont SES places à lui

                    Je modifierai le constructeur de voyageur pour lui passer directement les paramètres def __init(self, nom="vide",prenom="vide",passeport=0)

                    La classe Avion ne doit pas hérité de Voyageur (un avion n'est pas un voyageur)

                    • Partager sur Facebook
                    • Partager sur Twitter
                      4 mars 2021 à 17:26:10

                      Il faudrait tout de même qu'on sache dans la description du voyageur à quelle place il se trouve dans l'avion.
                      Mais c'est une méthode de la classe avion qui doit le faire.

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Le Tout est souvent plus grand que la somme de ses parties.

                        4 mars 2021 à 18:48:23

                        bah non, pour moi, c'est l'avion qui sait où va aller le voyageur, donc c'est l'avion qui doit gérer les places, vu qu'il peut y avoir plusieurs avions
                        • Partager sur Facebook
                        • Partager sur Twitter
                          4 mars 2021 à 19:20:18

                          Avion c'est une liste de 500 numéros de passeport. Après on peut en faire des classes.
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Python c'est bon, mangez-en. 

                            5 mars 2021 à 1:29:43

                            En fait, on n'a pas besoin de classe pour l'avion. Mais on peut le faire si on veut se donner le trouble.
                            On n'a même pas besoin de classe pour les voyageurs, un dictionnaire sur le numéro de passeport ferait l'affaire.
                            Et si on a plusieurs avions, on peut toujours faire une liste de liste.
                            Dans ce cas, il faudra indiquer dans la description du voyageur le numéro de l'avion et le numéro de place.
                            • Partager sur Facebook
                            • Partager sur Twitter

                            Le Tout est souvent plus grand que la somme de ses parties.

                            programme python pour gérer voyageur dans un avion

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown