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 :

exo python vie


Sujet :

Python

  1. #1
    Futur Membre du Club
    exo python vie
    Salut à tous j'ai besoin de votre aide pour un debut d'exercice svp que je ne comprends pas très bien je vous le met ci-dessous merci
    Les attributs de la classe sont privés on va dire
    Créer une classe Cell avec pour attributs :
    • Un booléen actuel, initialisé à False, qui indique l’état présent de la cellule.
    • Un booléen futur, initialisé à False, qui dis l’état de la cellule au tour suivant.
    • Une liste voisins, initialisé à None, qui contiendra la liste des cellules voisines de la cellule.

    Donc j'ai crée la classe ensuite je fais def....(self,1er_attribut,2eme_attribut):
    self.

    C'est la ou je suis bloqué merci de votre aide

  2. #2
    Expert éminent sénior
    Salut,

    Pour l'instant, l'énoncé ne dit rien de plus que:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class Cell:
        def __init__(self):
               self.actuel = False
               self.futur = False
               self.voisins = None

    Pour le reste, ce n'est pas dans l'énoncé que vous avez donné et si vous êtes bloqué on ne va pas deviner pourquoi sans que vous ne l'ayez exprimé.

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

  3. #3
    Futur Membre du Club
    oui désolé de plus je me suis trompé c'est plutôt pour cela que je bloque
    vivant() qui retourne l’état actuel True ou False
    voisinage() qui permet d'affecter comme voisins la liste v passée en paramètre
    voisins() qui retourne la liste des voisins de la cellule
    naissance() qui met l’état futur de la cellule à True

  4. #4
    Expert éminent sénior
    Citation Envoyé par amina3020- Voir le message
    oui désolé de plus je me suis trompé c'est plutôt pour cela que je bloque
    Montrez un peu ce que vous avez essayé de faire et racontez pourquoi vous êtes "bloqué"... on n'est pas là pour faire vos exercices.

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

  5. #5
    Futur Membre du Club
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    def vivant(self):
            if self.actuel==True:
                return True
            else:
                return False

    pour le premier attribut et pour le second j'ai compris il me semble
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def set_voisins(self,v):
            v=[]
            self.voisins=v
     
        def get_voisins(self):
            return self.voisins

  6. #6
    Expert éminent sénior
    Salut,

    Si on vous dit:
    voisinage() qui permet d'affecter comme voisins la liste v passée en paramètre
    et que vous écrivez:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    def voisinage(self, v):
                 v=[]

    vous avez déjà tout faux car si l'appelant passe un paramètre, c'est pour en faire quelque chose et non l'ignorer ou y assigner quoi que ce soit.

    Après de toutes façons soit le code que vous avez écrit fonctionne soit il ne marche pas... et çà l'interpréteur Python va vous répondre directement pour autant que vous sachiez "tester" i.e. quel est l'état initial, quel devrait être l'état final et est ce que l'opération donne ce qu'on attend.


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

  7. #7
    Futur Membre du Club
    on me demander cela
    set_voisins() qui permet d'affecter comme voisins la liste v passée en paramètre ;
    • get_voisins() qui renvoie la liste des voisins de la cellule ;

    j'ai fais cela
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def set_voisins(self,v):
            v=[]
            self.voisins=v
     
        def get_voisins(self):
            return self.voisins

  8. #8
    Expert éminent sénior
    Et est ce que çà fonctionne?

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

  9. #9
    Futur Membre du Club
    Citation Envoyé par wiztricks Voir le message
    Salut,

    Pour l'instant, l'énoncé ne dit rien de plus que:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class Cell:
        def __init__(self):
               self.actuel = False
               self.futur = False
               self.voisins = None

    Pour le reste, ce n'est pas dans l'énoncé que vous avez donné et si vous êtes bloqué on ne va pas deviner pourquoi sans que vous ne l'ayez exprimé.

    - W
    pour le dernier attribut on ne doit pas mettre None en tant que liste plutôt?

  10. #10
    Expert éminent sénior
    Citation Envoyé par amina3020- Voir le message
    pour le dernier attribut on ne doit pas mettre None en tant que liste plutôt?
    Je me contente d'écrire ce que dit l'énoncé. Après si lorsque je teste je me rends compte que c'est peut être mieux de faire autre chose... mais tant que je n'ai pas de bonne raison pour changer.

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

  11. #11
    Futur Membre du Club
    Citation Envoyé par wiztricks Voir le message
    Et est ce que çà fonctionne?

    - W
    sa ne fonctionne pas ca me met cela comme erreur
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    set_voisins(self,v)
    Traceback (most recent call last):
      File "<pyshell#0>", line 1, in <module>
        set_voisins(self,v)
    NameError: name 'self' is not defined

  12. #12
    Expert éminent sénior
    Citation Envoyé par amina3020- Voir le message
    sa ne fonctionne pas ca me met cela comme erreur
    Ouvrez votre cours et regardez comment on écrit une méthode et comment on l'appelle...

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

  13. #13
    Futur Membre du Club
    ca me met pareil pourtant en ayant regarder le cours à nouveau il me semble bien avoir fais ce qu'il fallait si vous pouvez m'éclairer dans mon erreur svp
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    P1= Temps(2,3,4,5,6)
    Traceback (most recent call last):
      File "<pyshell#1>", line 1, in <module>
        P1= Temps(2,3,4,5,6)
    TypeError: Temps() takes no arguments
    >>>

  14. #14
    Expert éminent sénior
    Citation Envoyé par amina3020- Voir le message
    ca me met pareil pourtant en ayant regarder le cours à nouveau il me semble bien avoir fais ce qu'il fallait si vous pouvez m'éclairer dans mon erreur svp
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    P1= Temps(2,3,4,5,6)
    Traceback (most recent call last):
      File "<pyshell#1>", line 1, in <module>
        P1= Temps(2,3,4,5,6)
    TypeError: Temps() takes no arguments
    >>>
    Que voulez vous que je vous éclaire?
    Le message d'erreur est clair: vous passez des arguments à l'appel de la fonction/classe Temps alors que Python vous dit qu'elle n'en prend pas...

    De plus, vous ne prenez même pas la peine de recopier ce qu'est Temps alors que c'est sa définition qu'il faudrait aller voir et éventuellement revoir. D'autant que ce machin là sort de nulle part.

    Si vous jouez avec les "class", vous avez passé du temps avec les fonctions et ce genre de message d'erreur devrait vous être familier.

    En plus vous récupérer le code que je vous ai donné pour aller mendier dans un autre forum de façon aussi décousue.
    Si vous n'avez pas envie d'apprendre à programmer, arrêter de demander de l'aide pour qu'on fasse vos exercices, faites autre chose, et attendez patiement le corrigé du professeur.

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

  15. #15
    Futur Membre du Club
    re c'est bon j'ai compris je suis bloqué à la méthode naitre() je n'arrive pas à trouver une solution pour que self.futur prenne la valeur True voila ce que j'ai fais
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
        def naitre(self):
            return self.futur=True

    j'ai essayé cela mais sa me met une erreur de syntax alors j'ai mis deux égales mais c'est pas bon car ça fais un test d'égalité je ne vois pas comment je pourrais faire merci de votre aide

  16. #16
    Membre actif
    Citation Envoyé par amina3020- Voir le message
    re c'est bon j'ai compris je suis bloqué à la méthode naitre() je n'arrive pas à trouver une solution pour que self.futur prenne la valeur True voila ce que j'ai fais
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
        def naitre(self):
            return self.futur=True

    j'ai essayé cela mais sa me met une erreur de syntax alors j'ai mis deux égales mais c'est pas bon car ça fais un test d'égalité je ne vois pas comment je pourrais faire merci de votre aide
    Bonjour,
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    def naitre(self):
        self.futur = True
        return self.futur

  17. #17
    Futur Membre du Club
    Merci pour la méthode basculer qui consiste à mettre l’état actuel à l’état futur j’ai fais ceci et si j’ai bien compris sa dois me renvoyer l’état futur donc false
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
     Def basculer(self):
            self.actuel=self.futur
            return self.actuel

  18. #18
    Expert éminent sénior
    Citation Envoyé par amina3020- Voir le message
    si j’ai bien compris sa dois me renvoyer l’état futur donc false
    Si çà vous renvoie l'état "futur", il faut afficher cet état "futur" et comparer.
    Soit c'est identique, soit çà ne l'est pas...

    Et s'il aurait du être False, comme rien n'est assigné à "futur" dans ce bout de code là, c'est que le soucis est ailleurs.

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

  19. #19
    Futur Membre du Club
    Merci j’ai fais cela et sa renvoie bien l’état futur si vous pouvez quand même y jetez un œil pour me dire si tout est bon
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     class Cell:
        def __init__(self):
               self.actuel = False
               self.futur = False
               self.voisins = None
        def basculer(self):
               if self.actuel==self.futur:
                         return False
               else:
                        return True

  20. #20
    Expert éminent sénior
    Citation Envoyé par amina3020- Voir le message
    Merci j’ai fais cela et sa renvoie bien l’état futur si vous pouvez quand même y jetez un œil pour me dire si tout est bon
    Si Python dit que c'est bon, çà ne devrait pas être "mauvais".

    Maintenant si je relis
    la méthode basculer qui consiste à mettre l’état actuel à l’état futur
    d'un message précédent et que "basculer" étant un verbe, une action qui devrait changer l'état de la cellule...
    On ne comprend pas la même chose sur ce que "basculer" veut dire (en français).

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

###raw>template_hook.ano_emploi###