romper fuera del bucle de Python

Funciones y métodos de Python

Una declaración de interrupción indica a Python que salga de un bucle . Si utiliza una instrucción break fuera de un bucle, por ejemplo, en una instrucción if sin un bucle principal, encontrará el & ldquo; SyntaxError: & lsquo; break & rsquo; bucle exterior & rdquo; error en su código.

En esta guía, vamos a discutir qué significa este error y por qué puede verlo. Exploraremos un ejemplo de este error para que pueda aprender a corregirlo.




SyntaxError: & lsquo; break & rsquo; bucle externo

La instrucción break de Python actúa como un & ldquo; break & rdquo; en un bucle for o un bucle while . Detiene la ejecución de un bucle para otras iteraciones.

Las declaraciones de ruptura generalmente se incluyen dentro de una instrucción if que existe en un bucle. En tal caso, un programador puede decirle a un bucle que se detenga si se cumple una condición particular.

Una declaración de interrupción solo puede usarse dentro de un bucle. Esto se debe a que el propósito de una declaración de interrupción es detener un bucle. Puede usar una sentencia break dentro de una sentencia if, pero solo si esa sentencia if está dentro de un bucle.




Un escenario de ejemplo

Vamos a escribir un programa que valide un nombre de usuario para un juego. Un nombre de usuario debe tener menos de doce caracteres para ser válido. Un nombre de usuario no debe contener espacios.

Para validar nuestro nombre de usuario, usaremos dos declaraciones if. Para comenzar, pidamos a un usuario que elija un nombre de usuario para nuestro juego usando una declaración input () :

 username = input ("Ingrese su nuevo nombre de usuario:") 

A continuación, usemos un declaración if para comprobar si nuestro nombre de usuario tiene menos de 12 caracteres:

El 81% de los participantes afirmó que se sentía más confiado en sus perspectivas laborales de tecnología después de asistir a un campamento de entrenamiento. Asóciese a un bootcamp hoy.

El graduado promedio de bootcamp pasó menos de seis meses en la transición de carrera, desde comenzar un bootcamp hasta encontrar su primer trabajo.

Si el nombre de usuario que inserta un usuario en el programa tiene menos de 12 caracteres, nuestro programa imprime un mensaje en la consola informándonos que el nombre de usuario tiene la longitud correcta. De lo contrario, se ejecutará una declaración de interrupción.


A continuación, validemos si el nombre de usuario no contiene un espacio:

 if" "no en username: print (" Este nombre de usuario es válido. ") else: break 

Usamos un if ... en la instrucción para verificar si hay un carácter en la cadena & ldquo; nombre de usuario & rdquo ;. Verificamos si hay un espacio en blanco. Este espacio en blanco está encerrado entre las dos comillas en nuestra instrucción if .

Si un nombre de usuario contiene un espacio, se ejecuta una instrucción break. La instrucción break es parte de la instrucción else en nuestro código.

Ejecutemos nuestro código y veamos qué sucede:

 Archivo "main.py", línea 6 break ^ SyntaxError: 'break' fuera del bucle 

Nuestro código devuelve un error r.




La solución

Hemos utilizado una declaración de interrupción para detener nuestro programa si uno de nuestros criterios no se cumple al validar el nombre de usuario de un usuario.

Esto provoca un error porque la sentencia break no está diseñada para iniciar una interrupción en ningún lugar de un programa. La sentencia break solo detiene la ejecución de un bucle.

Para arreglar nuestro código, necesitamos eliminar las sentencias break. Podemos reemplazarlos con una excepción que detiene nuestro programa y proporciona un mensaje de error:

 if len (nombre de usuario) & lt; 12: print ("Este nombre de usuario es el número correcto de caracteres.") Else: raise Exception ("Su nombre de usuario debe tener menos de doce caracteres.") Si "" no está en el nombre de usuario: print ("Este nombre de usuario es válido.") Else : raise Exception ("Su nombre de usuario no puede contener espacios. s") 

Si la longitud de un nombre de usuario es igual o mayor que 12, o si un nombre de usuario contiene un espacio, nuestro programa plantear una excepción. Esta excepción evitará que nuestro programa continúe.

Ejecutemos nuestro código:

 Ingrese su nuevo nombre de usuario: bill3 Este nombre de usuario es el número correcto de caracteres Este nombre de usuario es válido 

Nuestro código se ejecuta correctamente si nuestro nombre de usuario es válido. Veamos qué sucede si ingresamos un nombre de usuario no válido:

 Ingrese su nuevo nombre de usuario: factura 3 Este nombre de usuario es el número correcto de caracteres. Traceback (última llamada más reciente): Archivo "main.py", línea 11, en & lt; módulo & gt; raise Exception ("Su nombre de usuario no puede contener espacios") Excepción: Su nombre de usuario no puede contener espacios 

Nuestro código devuelve una excepción. Alternativamente, podríamos haber utilizado declaraciones impresas para informar al usuario que su nombre de usuario era incorrecto. Esto solo sería adecuado si quisiéramos que nuestro programa continuara, o si tuviéramos un ciclo que se ejecutara hasta que un nombre de usuario se validara correctamente.





Conclusión

El error & ldquo; SyntaxError: & lsquo; break & rsquo; outside loop & rdquo; se genera cuando se utiliza una instrucción break fuera de un bucle.

Para resolver este error, reemplace cualquier declaración de interrupción con una alternativa adecuada. Para presentar un mensaje a un usuario, puede usar una instrucción print () . Para detener la ejecución de su programa cuando se cumple una condición , puede generar una excepción.





romper fuera del bucle de Python: StackOverflow Questions

Tutorials