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 Trueo 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 ifcondició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 elseLa 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 ifla 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 elsese 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 elsebloques, 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 ifcondición y si se evalúa como Falseentonces evaluará el elifbloques 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