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 :

Boucler et incrémenter


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 10
    Par défaut Boucler et incrémenter
    Bonjour, je travail actuellement sur les automates mais je fais fasse à un petit problème bien embêtant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for s in automate.get_states(): #s parcours les états de l'automate
        automate.add_state(X)       #on ajoute X à la liste des etats de l'automate
    X étant un état qui n'appartient pas déjà aux états de l'automate.

    Je voudrais que automate.get_states() se mette à jour à chaque itération de boucle or cela ne semble pas être le cas, comment procéder svp ?

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 695
    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 695
    Par défaut
    Salut,

    Si "automate.get_states()" retourne la "liste" des états à l'instant t0 et l'ajout d'un état à t1 ne sera pas dans la liste t0 => il faudrait que çà retourne "le suivant".
    Comment transformer ".get_states()" pour que... un générateur (yield) est assez générique mais sans le code difficile de voir ce qui serait plus adapté.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 10
    Par défaut
    Merci pour ta réponse rapide, voici le 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
    def get_states( self ):
            return pretty_set(self._states)
     
    class pretty_set(frozenset):
     
        def __repr__(self):
            elems = list(self)
            if len(elems) == 0 :
                return "{}"
            result = "{" + str(elems[0])
            for e in elems[1:]:
                result += ", " + str(e)
            result += "}"
            return result
    Il s'agit d'une bibli fournie je ne peux pas modifier.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 695
    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 695
    Par défaut
    Je ne vois pas l'intérêt de montrer __repr__!

    Citation Envoyé par PunkFloyd91 Voir le message
    Il s'agit d'une bibli fournie je ne peux pas modifier.
    Vous devriez pouvoir sous/classer. Mais bon.
    automate.get_states() étant un frozenset.
    Un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    states = automate.get_states()
    while len(states):
          ...
          automate.add_state(X)
          ...
          states = automate.get_states() - states
    devrait suffire.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Incrémentation d'un champ de la table
    Par viny dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/09/2003, 20h33
  2. [débutant][xsl]incrémenter une variable
    Par guitalca dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 01/04/2003, 15h19
  3. [VB6] Comment boucler sur des controls d'un form ?
    Par lankviller dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 27/01/2003, 16h29
  4. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 00h10
  5. Post incrémentation?
    Par Defrag dans le forum C
    Réponses: 4
    Dernier message: 08/10/2002, 10h36

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