Home > Python > La sentencia if – else en python

A menudo es necesario que un programa ejecute unas instrucciones cuando se cumplan unas condiciones y otras cuando no. En esos casos se utiliza la estructura de control if … else ….. En inglés “if” significa “si” (condición) y “else” significa “si no”. La orden en Pyhton se escribe así:

if condición:
  aquí van las órdenes que se ejecutan si la condición es cierta
  y que pueden ocupar varias líneas
else:
  y aquí van las órdenes que se ejecutan si la condición es
  falsa y que también pueden ocupar varias líneas

La primera línea contiene la condición a evaluar. Esta línea debe terminar siempre por dos puntos (:).
A continuación viene el bloque de órdenes que se ejecutan cuando la condición se cumple (es decir, cuando la condición es verdadera).

Es importante señalar que este bloque debe ir sangrado, puesto que Python utiliza el sangrado para reconocer las líneas que forman un bloque de instrucciones. El sangrado que se suele utilizar en Python es de cuatro espacios, pero se pueden utilizar más o menos espacios. Al escribir dos puntos (:) al final de una línea, IDLE sangrará automáticamente las líneas siguientes. Para terminar un bloque, basta con volver al principio de la línea.

Después viene una línea con la orden else (opcional), que indica a Python que el bloque que viene a continuación se tiene que ejecutar cuando la condición no se cumpla (es decir, cuando sea falsa). Esta línea también debe terminar siempre por dos puntos (:).

En último lugar está el bloque de instrucciones sangrado que corresponde al else.

edad = int(input("¿Cuántos años tiene? "))
if edad < 18:
    print("Es usted menor de edad")
else:
    print("Es usted mayor de edad")
print("¡Hasta la próxima!")

Este programa pregunta la edad al usuario y almacena la respuesta en la variable “edad”. Después comprueba si la edad es inferior a 18 años. Si esta comparación es cierta, el programa escribe que es menor de edad y si es falsa escribe que es mayor de edad. Finalmente el programa siempre se despide, ya que la última instrucción está fuera de cualquier bloque y por tanto se ejecuta siempre.