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 :

Sortire de deux boucle en une foi


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2005
    Messages : 42
    Points : 35
    Points
    35
    Par défaut Sortire de deux boucle en une foi
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for a in range(1000):
        for b in range(1000):
            if b*a == 100:
                code # la j aimerai pouvoire sortire des 2 boucle a la fois
    Merci

  2. #2
    Membre habitué
    Inscrit en
    Mars 2002
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 129
    Points : 184
    Points
    184
    Par défaut
    Pas moyen il me semble, le break ne concerne que la boucle en cours. Rajoute une simple condition sur un booléen ou autre chose.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    for a in range(1000):
        quitte=False
        for b in range(1000):
            if b*a == 100:
                 quitte=True
                 break
                code # la j aimerai pouvoire sortire des 2 boucle a la fois
        if quitte==True:
            break
    "Un langage de programmation est sensé être une façon conventionnelle de donner des ordres à un ordinateur (...). Il n'est pas sensé être obscure, bizarre et plein de pièges subtils (ça, ce sont des attributs de la magie)." D.Small

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 36
    Points : 31
    Points
    31
    Par défaut
    Pourtant en codant ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for a in range(1000):
        for b in range(100):
            if a+b == 10:
                break
        break
     
    print 'boucle arretee a ', (a, b)
    J'obtiens bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>>
    Boucle arretee a (0,10)
    >>>
    Mais je l'accorde, je suis fatigué...
    Alors pitêt j'ai rien compris... mais si j'peux faire avancer le débat.

  4. #4
    Membre habitué
    Inscrit en
    Mars 2002
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 129
    Points : 184
    Points
    184
    Par défaut
    Mais je l'accorde, je suis fatigué...
    Plutôt oui, dans ton cas a ne dépassera jamais zéro, ton deuxième break paralysant la première boucle.
    "Un langage de programmation est sensé être une façon conventionnelle de donner des ordres à un ordinateur (...). Il n'est pas sensé être obscure, bizarre et plein de pièges subtils (ça, ce sont des attributs de la magie)." D.Small

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 36
    Points : 31
    Points
    31
    Par défaut

    Je savais bien que j'étais fatigué... dommage, je pensais vraiment qu'on pouvait faire ça sans booléen...

    EDIT:
    Comme ça, ça marche mieux! Ok, je chipote...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for a in range(1000):
        for b in range(100):
            if a*b == 100:
                break
        if a*b == 100:    
            break
     
    print 'boucle arretee a ', (a, b)

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2005
    Messages : 42
    Points : 35
    Points
    35
    Par défaut
    Merci bcp pour cette solution

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

Discussions similaires

  1. Sortir de deux boucles imbriquées
    Par Hedidams dans le forum Débuter
    Réponses: 9
    Dernier message: 08/01/2018, 00h28
  2. Sortir de deux boucles FOR-END imbriquées
    Par Nabuchodonosor15 dans le forum MATLAB
    Réponses: 5
    Dernier message: 31/08/2009, 09h58
  3. [FLASH MX2004] Deux conditions dans une boucle
    Par pierrot10 dans le forum Flash
    Réponses: 1
    Dernier message: 06/11/2005, 16h31
  4. le sous formulaire s'affiche une fois sur deux
    Par Math dans le forum Access
    Réponses: 16
    Dernier message: 10/10/2005, 15h25
  5. Pb : malloc qui marche une fois sur deux .... ?
    Par guillaume_pfr dans le forum C
    Réponses: 14
    Dernier message: 21/07/2003, 09h52

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