Python esperaba un bloque con sangría

Funciones y métodos de Python

La sangría de Python es rigurosa. Debe sangrar correctamente su código.

Si utiliza la disposición incorrecta de espacios y pestañas en un programa Python, encontrará el & ldquo; IndentationError: se esperaba un bloque con sangría & rdquo; error.

En esta guía, hablamos sobre lo que significa este error y por qué se genera. Veremos un ejemplo de este error para ayudarlo a descubrir cómo resolverlo en su código.




IndentationError: se esperaba un bloque con sangría

Los lenguajes de programación como C y JavaScript lo hacen no requiere una sangría particular. Esto se debe a que usan llaves para indicar la estructura de los bloques de código. Python no usa llaves o un indicador similar.

El lenguaje depende de la sangría para determinar la estructura de un programa. Sin sangría, es imposible que el intérprete de Python sepa cómo leer un bloque de código.

Considere el siguiente código de Python:

 def find_average (calificaciones): average = sum (calificaciones) / len (calificaciones) print (average) return average 

¿Cómo sabe Python qué código es parte de la find_average () función definida y qué código es parte del programa principal? Esto muestra por qué la sangría es tan importante.

Cada vez que se olvida de sangrar el código en un programa, Python lo advierte al generar un error de sangría .

El 81% de los participantes afirmaron que se sentían más seguros sobre sus perspectivas laborales después de asistir a un campamento de entrenamiento. Asigne a un bootcamp hoy.

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

Vamos a escribir un programa que extrae todos los bagels de una lista de almuerzos en un menú de almuerzo de café. Estos bagels se agregarán a su propia lista.

Comencemos definiendo una lista de todos los alimentos disponibles a la hora del almuerzo:

 lunch_menu = ["Queso crema bagel "," Sándwich de queso "," Sándwich de hummus, aguacate y pepino "," Bagel de salmón ahumado "] 

Nuestro menú de almuerzo contiene dos sándwiches y dos bagels. A continuación, escribimos una función que crea una nueva lista de bagels basada en el contenido de nuestro & ldquo; lunch_menu & rdquo; list:

 def get_bagels (menu): bagels = [] for m in menu: if " bagel "en m: bagels.append (m) return bagels 

Nuestra función get_bagels () acepta un argumento: los elementos del menú a través de los cuales la función debe buscar. Nuestra función recorre cada elemento del menú y comprueba si el elemento contiene la palabra & ldquo; bagel & rdquo; . Si es así, esa comida del almuerzo se agrega a los & ldquo; bagels & rdquo; list.


Finalmente, tenemos que llamar a nuestra función en nuestro programa principal:

 bagels = get_bagels (lunch_menu) print (bagels) 

Este código llamará a nuestra función get_bagels () y luego imprima la lista de bagels que crea en la consola. Ejecutemos nuestro código y veamos qué sucede:

 Archivo "main.py", línea 4 bagels = [] ^ IndentationError: se esperaba un bloque con sangría 

Nuestro código no se ejecuta.

Un IndentationError nos dice que hemos sangrado incorrectamente nuestro código. El mensaje de error nos muestra que espera una sangría en la línea cuatro. Eche un vistazo a nuestro código:

 def get_bage ls (menú): bagels = [] 

Los & ldquo; bagels & rdquo; Se supone que la declaración de variable es parte de nuestra función, pero no tiene sangría. Esto causa un error porque las funciones de Python esperan tener al menos una línea de código con sangría debajo de donde están declaradas.

Para resolver este error, necesitamos sangrar nuestro declaración de variable :

 def get_bagels (menú): bagels = [] 

Ejecutemos nuestro código:

 ['Bagel de queso crema',' Bagel de salmón ahumado'] 

Nuestro código encuentra todos los bagels en nuestro & ldquo; lunch_menu & rdquo; lista y los agrega a los & ldquo; bagels & rdquo; lista. Nuestro código luego imprime la lista de bagels en la consola. Hay dos bagels en el menú del almuerzo.




Conclusión

El & ldquo; IndentationError: se esperaba un bloque con sangría & rdquo; se genera un error cuando olvida agregar una sangría en su código.

Para solucionar este error, asegúrese de que su código contenga la cantidad adecuada de sangrías. ¡Ahora tiene el conocimiento que necesita para corregir este error como un codificador experto!





Python esperaba un bloque con sangría: StackOverflow Questions

Tutorials