Hoy escribimos sobre las estructuras de control if, elif, y else en python. Estas instrucciones evalúan condiciones lógicas que según el resultado harán que el programa fluya por una rama u otra.

Anteriormente: Tutorial básico de python – tipos de variables.

if else python

Condiciones lógicas

Las condiciones lógicas en Python son:

  • x > y : mayor
  • x < y : menor
  • x >= y : mayor o igual
  • x <= y : menor o igual
  • x == y : igual
  • x != y : diferente

Estructura if else

En el siguiente programa se comparan dos variables numéricas. Si son iguales el programa avanza por el condicional if y ejecuta la primera instrucción print(). Si la condición no se cumple, el programa discurre por la rama else y ejecuta el segundo print().

userInput = 2087
password = 2087

if userInput == password:
  print("You can enter.")
else:
  print("Access denied.")

El resultado sería:

You can enter.

Estructura if elif else

La palabra reservada elif permite evaluar otra condición. En este ejemplo la primera condición del if no se cumple, por lo tanto el programa lo intenta con la condición del elif , la cual se cumple y se ejecuta.

En el caso de no cumplirse ninguna condición, el programa saldría por la rama else.

age = 30

if age < 18:
  print("You are a child.")
elif age < 90:
  print("You are adult.")
else:
  print("You are a bit old.")

Resultado:

You are adult.

Operadores AND y OR

Tenemos los operadores and y or para unir más de una declaración condicional.

AND

En el siguiente programa usamos and para juntar 2 condiciones. Por lo tanto, deben cumplirse ambas para ejecutar la primera instrucción print().

password = 2237
email = "abc@gmail.com"

if password == 2237 and email == "abc@gmail.com":
  print("You are logged in.")
else:
  print("Email / password incorrect.")

Resultado:

You are logged in.

OR

Aquí usamos el operador lógico or para unir 2 declaraciones condicionales. Sólo necesitamos que una de ellas sea verdadera para ejecutar la instrucción print().

role = "staff"

if role == "admin" or role == "staff":
  print("Access granted.")

Resultado:

Access granted.

if  else conciso

Una sintaxis más concisa de if else (si sólo tienes una sentencia a ejecutar para cada condición) sería la siguiente.

role = "user1"
admin = "admin"
print("Access denied.") if role != admin else print("You can enter.")

Resultado:

Access denied.

Incluso podríamos tener varias declaraciones else en la misma línea.

health = 1
level = 1

print("healthy") if health > level else print("hurt") if health == level else print("dead")

Resultado:

hurt

 

Fuente: https://docs.python.org


0 comentarios

Deja una respuesta

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies