Adloun

Sortir d'une boucle avec break

Exercice supplémentaire · niveau 2 · sciences numériques et technologie (seconde), chapitre 4 — Les boucles · La boucle bornée : for

Énoncé

L'instruction break interrompt immédiatement une boucle. L'utiliser pour écrire une fonction premier_diviseur(n) qui renvoie le plus petit diviseur de n supérieur à . Comparer avec une version sans break.

Corrigé

def premier_diviseur(n):
    for d in range(2, n + 1):
        if n % d == 0:
            return d          # return sort aussi de la boucle
    return n

print(premier_diviseur(91))   # 7
print(premier_diviseur(97))   # 97 (nombre premier)

Dans une fonction, return joue le rôle de break : il quitte la boucle et la fonction. Hors d'une fonction, on écrirait break.

L'intérêt n'est pas seulement l'élégance : sans arrêt anticipé, il faudrait parcourir tous les diviseurs jusqu'à n et ne garder que le premier, soit tours au lieu de pour . Sur de grands nombres, l'écart devient considérable — et l'on peut même s'arrêter à .

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.