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 Projet "Avion"-coordonnée


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2021
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Aide Projet "Avion"-coordonnée
    Bonjour tout le monde !

    Je suis là pour vous demander de l'aide, en effet pour un projet d'informatique, on doit coder en groupe un programme suivant des consignes, là, les consignes sont de faire un quadrillage de 7 x 30 pour représenter un avion (dont la colonne 4 est un couloir) , on m'a donné comme mission de faire les coordonnées de passager (180 en tout ), donc j'ai réussi à faire les listes pour chaque passager, mais le problème, c'est que je n'arrive pas à rendre les coordonnées uniques, c'est là où j'ai besoin de vous car même avec un ami je n'ai pas réussi un comparer les coordonnées avant des les attribuer pour voir si elles ont uniques ^^

    je vous mets le code juste en dessous :
    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
     
    import random
     
    def passager(n=180):
      """"pas encore fait""""
      k = 0
      passager = []
     
      while k < n:
     
          #Génération de liste pour chaques personnes [x,y,bagage]
          i = [random.choice([1, 2, 3, 5, 6, 7]),random.randint(1,30),random.randint(0,2)]
          passager.append(i)
          k += 1    
     
      #Parcours de la liste passager en test mais ne fonctionne pas ^^' 
      for j in range(0, len(passager)):
     
              #comparaison entre i et passager 
              if passager[j][0] and passager[j][1] in passager[j]:
     
                  #Modification de i si besoin
                  i[0], i[1] = random.choice([2, 3, 6, 7]), random.randint(1,30)
     
     
      return passager
     
    print(passager())
    je vous remercie d'avance de votre aide ! ^^

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 277
    Points : 36 762
    Points
    36 762
    Par défaut
    Salut,

    Si on range les passagers sur 6 colonnes de 30 places, on a une liste de 180 coordonnées à assigner ou 180 place libres.
    Placer un passager "au hasard", c'est choisir une place.... et la retirer de la liste pour pouvoir choisir "au hasard" la place du suivant dans les 179 places restantes.

    Au lieu de travailler sur les places libres, vous pouvez travailler côté places occupées.
    On tire au hasard une place, on vérifie qu'elle n'est pas déjà occupée en testant son absence de la liste des places occupées. Si elle est libre, on l'ajoute à la liste des places occupées. De fait, le passager N occupe la nième place de la liste des places occupées.

    Une façon plus explicite pour "associer" place occupée à un passager est de passer par un dictionnaire où la clef sera le numéro de place (occupée) et la valeur le numéro du passager. Mais si vous ne connaissez pas encore les dictionnaires, restez avec les listes.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2021
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci je vais tester ! ^^

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 684
    Points : 30 973
    Points
    30 973
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par VidoKis Voir le message
    mais le problème, c'est que je n'arrive pas à rendre les coordonnées uniques, c'est là où j'ai besoin de vous car même avec un ami je n'ai pas réussi un comparer les coordonnées avant des les attribuer pour voir si elles ont uniques ^^
    Je ne saisis pas la notion de "rendre les coordonnées uniques". Une coordonnée, que ce soit sur un plan en (x,y) ou dans un avion en (rangée/colonne) est déjà unique par elle-même, il n'y a pas besoin de la "rendre" unique.
    Prenons un point M (3, 2), si je place un point M' en (3, 2) il sera confondu avec M.
    Et en python, si on place la coordonnée dans un tuple puis qu'on stocke les tuples des places occupées dans une liste (occupe=[(1, 2), (3, 4), (5, 6)]) il est facile de voir si une demande de place peut/ne peut pas être honorée (ex essai=(random.randint(1, 30), random.randint(1, 6)); print(essai in occupe).
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Demande d'aide - Projet professionnel ambigu
    Par makechange dans le forum Emploi
    Réponses: 5
    Dernier message: 08/09/2006, 13h34
  2. Besoin d'aide projet d'info : la bonne paye sur C++ Builder.
    Par timsupra dans le forum C++Builder
    Réponses: 18
    Dernier message: 25/04/2006, 10h24
  3. aide projet dev
    Par Nickname dans le forum Langage
    Réponses: 16
    Dernier message: 06/02/2006, 13h03

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