pause en dehors de la boucle Python

Une instruction break indique à Python de quitter une boucle. Si vous utilisez une instruction break en dehors d’une boucle, par exemple, dans une instruction if sans boucle parent, vous rencontrerez l’erreur "SyntaxError : ‚Äòbreak‚Äô boucle extérieure" erreur dans votre code.

Dans ce guide, nous allons discuter de ce que signifie cette erreur et pourquoi vous pouvez la voir. Nous allons explorer un exemple de cette erreur afin que vous puissiez apprendre comment corriger l’erreur.

Erreur de syntaxe : ‘break’ en dehors de la boucle

L’instruction Python break agit comme un "break‚" dans une boucle for ou une boucle while. Il arrête l’exécution d’une boucle pour toute autre itération.

Les instructions Break sont généralement incluses dans une instruction if qui existe dans une boucle. Dans un tel cas, un programmeur peut dire à une boucle de s’arrêter si une condition particulière est remplie.

Une instruction break ne peut être utilisée qu’à l’intérieur d’une boucle. C’est parce que le but d’une instruction break est d’arrêter une boucle. Vous pouvez utiliser une instruction break dans une instruction if, mais seulement si cette instruction if est dans une boucle.

Un exemple de scénario

√âcrivons un programme qui valide un nom d’utilisateur pour un jeu. Un nom d’utilisateur doit comporter moins de douze caractères pour être valide. Un nom d’utilisateur ne doit contenir aucun espace.

Pour valider notre nom d’utilisateur, nous allons utiliser deux instructions if. Pour commencer, demandons à un utilisateur de choisir un nom d’utilisateur pour notre jeu en utilisant une instruction input() :

Ensuite, utilisons un if statement pour vérifier si notre nom d’utilisateur comporte moins de 12 caractères :

81 % des participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi en technologie après avoir assisté à un bootcamp. Soyez associé à un bootcamp aujourd’hui.

Le diplômé moyen d’un bootcamp a passé moins de six mois en transition de carrière, du démarrage d’un bootcamp à la recherche de son premier emploi.

Si le nom d’utilisateur qu’un utilisateur insère dans le programme est inférieur à 12 caractères, notre programme imprime un message à la console nous informant que le nom d’utilisateur est de la bonne longueur. Sinon, une instruction break s’exécutera.

Ensuite, validons si ce nom d’utilisateur ne contient pas d’espace :

Nous utilisons un if... in pour rechercher un caractère dans la chaaîne "username‚". Nous recherchons un espace vide. Cet espace est placé entre les deux guillemets dans notre instruction if.

Si un nom d’utilisateur contient un espace, une instruction break s’exécute. L’instruction break fait partie de l’instruction else dans notre code.

Exécutons notre code et voyons ce qui se passe :

Notre code renvoie une erreur r.

La solution

Nous avons utilisé une instruction break pour arrêter notre programme si l’un de nos critères n’est pas rempli lors de la validation du nom d’utilisateur d’un utilisateur.

Cela provoque une erreur car l’instruction break n’est pas conçue pour démarrer un break n’importe o√π dans un programme. L’instruction break arrête uniquement l’exécution d’une boucle.

Pour corriger notre code, nous devons supprimer les instructions break. Nous pouvons les remplacer par une exception qui arrête notre programme et fournit un message d’erreur :

Si la longueur d’un nom d’utilisateur est égale ou supérieure à 12, ou si un nom d’utilisateur contient un espace, notre programme lever une exception. Cette exception empêchera notre programme de continuer.

Exécutons notre code :

Notre code s’exécute avec succès si notre nom d’utilisateur est valide. Voyons ce qui se passe si nous saisissons un nom d’utilisateur non valide :

Notre code renvoie une exception. Alternativement, nous aurions pu utiliser des instructions d’impression pour informer l’utilisateur que son nom d’utilisateur était incorrect. Cela ne conviendrait que si nous voulions que notre programme continue, ou si nous avions une boucle qui s’exécute jusqu’à ce qu’un nom d’utilisateur soit validé avec succès.

Conclusion

L’erreur "SyntaxError : ‚Äòbreak‚Äô outside loop‚" est déclenchée lorsque vous utilisez une instruction break en dehors d’une boucle.

Pour résoudre cette erreur, remplacez toutes les instructions break par une alternative appropriée. Pour présenter un message à un utilisateur, vous pouvez utiliser une instruction print(). Pour arrêter l’exécution de votre programme lorsqu’une condition est remplie , vous pouvez lever une exception.