Maison  >  Article  >  développement back-end  >  Comment échapper aux boucles imbriquées en Python sans exceptions ?

Comment échapper aux boucles imbriquées en Python sans exceptions ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-02 12:02:30673parcourir

How to Escape Nested Loops in Python Without Exceptions?

Échapper aux boucles imbriquées sans exceptions

Bien que l'utilisation d'exceptions pour sortir des boucles imbriquées soit possible, cela peut être fastidieux. Heureusement, il existe des approches plus propres disponibles en Python.

Utiliser les instructions "break" et "continue"

Une solution plus élégante consiste à utiliser les instructions break et continue. L'instruction break quitte immédiatement la boucle la plus interne, tandis que continue continue jusqu'à l'itération suivante dans la boucle actuelle.

Considérez la boucle imbriquée suivante :

<code class="python">for x in range(10):
    for y in range(10):
        print(x * y)
        if x * y > 50:
            break
    else:
        continue  # Only executed if the inner loop did NOT break
    break  # Only executed if the inner loop DID break</code>

Dans cet exemple, l'instruction break dans la boucle interne nous permet de quitter les deux boucles lorsque la condition x * y > 50 est atteint. La clause else après la boucle interne vérifie si la boucle interne s'est terminée normalement (sans rencontrer de rupture). Si tel est le cas, il exécute l'instruction continue pour passer à l'itération suivante de la boucle externe.

Exemple avec plusieurs boucles imbriquées

Cette technique peut être étendue à des boucles plus profondes ainsi :

<code class="python">for x in range(10):
    for y in range(10):
        for z in range(10):
            print(x, y, z)
            if (x * y * z) == 30:
                break
        else:
            continue
        break
    else:
        continue
    break</code>

Ce code montre comment sortir des trois boucles imbriquées lorsque la condition (x * y * z) == 30 est satisfait. Les instructions else et continue garantissent que les boucles externes sont parcourues correctement en fonction de l'état de terminaison des boucles internes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn