De forma predeterminada, las declaraciones en el script se ejecutan secuencialmente desde la primera hasta la última. Si la lógica de procesamiento lo requiere, el flujo secuencial se puede alterar de dos maneras:
Pitón utiliza el if
palabra clave para implementar el control de decisiones. La sintaxis de Python para ejecutar un bloque condicionalmente es la siguiente: Sintaxis:
si [expresión booleana]: declaración1 declaración2 ... declaraciónN
Cualquier expresión booleana que evalúe a True
o False
aparece después de la if
palabra clave. Utilizar el :
símbolo y presione Entrar después de la expresión para comenzar un bloque con una sangría aumentada. Se ejecutarán una o más sentencias escritas con el mismo nivel de sangría if
la expresión booleana se evalúa como True
.
Para finalizar el bloque, disminuya la sangría. Las declaraciones subsiguientes después del bloque se ejecutarán fuera del if
condición. El siguiente ejemplo demuestra la if
condición. Ejemplo: si Condición
price = 50 if price < 100: print("price is less than 100")
Producción
price is less than 100
En el ejemplo anterior, la expresión price < 100
evalúa a True
, por lo que ejecutará el bloque. Él if
bloque comienza desde la nueva línea después :
y todas las declaraciones bajo el if
la condición comienza con una sangría aumentada, ya sea espacio o tabulación. Sobre el if
bloque contiene sólo una declaración. El siguiente ejemplo tiene varias declaraciones en la condición if. Ejemplo: declaraciones múltiples en el bloque if
price = 50 quantity = 5 if price*quantity < 500: print("price*quantity is less than 500") print("price = ", price) print("quantity = ", quantity)
Producción
price*quantity is less than 500 price = 50 quantity = 5
Arriba, la condición if contiene varias declaraciones con la misma sangría. Si todas las declaraciones no están en la misma sangría, ya sea un espacio o una tabulación, entonces generará un IdentationError
. Ejemplo: sangría no válida en el bloque
price = 50 quantity = 5 if price*quantity < 500: print("price is less than 500") print("price = ", price) print("quantity = ", quantity)
Producción
print("quantity = ", quantity) ^ IdentationError: unexpected indent
Las declaraciones con el mismo nivel de sangría que if
la condición no se considerará en el bloque if. Ellos considerarán fuera del if
condición. Ejemplo: declaraciones fuera de bloque
price = 50 quantity = 5 if price*quantity < 100: print("price is less than 500") print("price = ", price) print("quantity = ", quantity) print("No if block executed.")
Producción
No if block executed.
El siguiente ejemplo muestra varias condiciones if. Ejemplo: Múltiples condiciones if
price = 100 if price > 100: print("price is greater than 100") if price == 100: print("price is 100") if price < 100: print("price is less than 100")
Producción
price is 100
Note que cada if
bloque contiene una declaración en una sangría diferente, y eso es válido porque son diferentes entre sí. Nota Se recomienda utilizar 4 espacios o una tabulación como nivel de sangría predeterminado para una mayor legibilidad.
otra condición
Junto con if
declaración, la else
La condición se puede usar opcionalmente para definir un bloque alternativo de declaraciones que se ejecutarán si la expresión booleana en el if
la condición se evalúa como False
. Sintaxis:
si [expresión booleana]: declaración1 declaración2 ... declaraciónN demás: declaración1 declaración2 ... declaraciónN
Como se mencionó antes, el bloque sangrado comienza después del :
símbolo, después de la expresión booleana. Se ejecutará cuando la condición sea True
. Tenemos otro bloque que debe ejecutarse cuando el if
la condición es False
. Primero, complete el if
bloquear con un retroceso y escribir else
, poner añadir el :
símbolo delante del nuevo bloque para comenzarlo, y agregue las declaraciones requeridas en el bloque. Ejemplo: otra condición
price = 50 if price >= 100: print("price is greater than 100") else: print("price is less than 100")
Output
price is less than 100
En el ejemplo anterior, la condición if price >= 100
es False
, entonces el else
se ejecutará el bloque. El bloque else también puede contener varias declaraciones con la misma sangría; de lo contrario, aumentará la IndentationError
.
Tenga en cuenta que no puede tener varios else
bloques, y debe ser el último bloque.
elif Condition
Utilizar el elif
condition se utiliza para incluir varias expresiones condicionales después de la if
condición o entre el if
y else
condiciones. Sintaxis:
si [expresión booleana]: [declaraciones] elif [expresión booleana]: [declaraciones] elif [expresión booleana]: [declaraciones] demás: [declaraciones]
elif [expresión booleana]:
price = 100 if price > 100: print("price is greater than 100") elif price == 100: print("price is 100") elif price < 100: print("price is less than 100") //price is 100
Él elif
el bloque se ejecuta si la condición especificada se evalúa como True
. Ejemplo: condiciones if-elif
price = 100 if price > 100: print("price is greater than 100") elif price == 100: print("price is 100") elif price < 100: print("price is less than 100")
Producción
price is 100
En el ejemplo anterior, el elif
las condiciones se aplican después de la if
condición. Python evaluará el if
condición y si se evalúa como False
entonces evaluará el elif
bloques y ejecutar el elif
bloque cuya expresión se evalúa como True
. si es multiple elif
las condiciones se vuelven True
, entonces el primero elif
se ejecutará el bloque.
El siguiente ejemplo demuestra las condiciones if, elif y else. Ejemplo: condiciones if-elif-else
price = 50 if price > 100: print("price is greater than 100") elif price == 100: print("price is 100") else price < 100: print("price is less than 100")
Producción
price is less than 100
Todas las condiciones if, elif y else deben comenzar desde el mismo nivel de sangría, de lo contrario, aumentará el IndentationError
. Ejemplo: sangría no válida
price = 50 if price > 100: print("price is greater than 100") elif price == 100: print("price is 100") else price < 100: print("price is less than 100")
Producción
elif price == 100: ^ IdentationError: unindent does not match any outer indentation level
Condiciones anidadas if, elif, else
Python admite condiciones anidadas if, elif y else. La condición interna debe tener una sangría mayor que la condición externa, y todas las declaraciones debajo de un bloque deben tener la misma sangría. Ejemplo: condiciones if-elif-else anidadas
price = 50 quantity = 5 amount = price*quantity if amount > 100: if amount > 500: print("Amount is greater than 500") else: if amount < 500 and amount > 400: print("Amount is") elif amount < 500 and amount > 300: print("Amount is between 300 and 500") else: print("Amount is between 200 and 500") elif amount == 100: print("Amount is 100") else: print("Amount is less than 100")
Producción
Amount is between 200 and 500