Python » Fundamentos de Python » Sentencias Condicionales en Python

Sentencias Condicionales en Python

A menudo tenemos que tomar decisiones en nuestras vidas. Por ejemplo cuando digo “si llueve cojo el paraguas”, la acción de que coja el paraguas se producirá en caso de que se cumpla la condición de que está lloviendo. Esto traducido a la programación significa que cierta parte del código sólo se ejecutará en caso de que se cumplan ciertas condiciones. Las sentencias condicionales cumplen con dicha función. Nos ayudan a controlar el flujo de nuestro programa, decidiendo si unas líneas de código se tienen que ejecutar en función de si se cumplen unas condiciones preestablecidas. En concreto, comprueban si una condición es verdadera o falsa para tomar o no cierta acción.

Sentencia if

La sentencia condicional más básica en Python es la sentencia if, la cual se expresa de la siguiente forma:

if condicion:
    # ejecutar un código

En la expresión previa:

  • La condición es una expresión booleana que se evalúa como verdadera (True) o falsa (False).
  • Se requiere el uso de dos puntos (:) al final de la condición.
  • Todas las líneas de código a ejecutar si se cumple la condición tienen que estar indentadas respecto la sentencia if.

La indentación es una característica que diferencia Python de otros lenguajes de programación, dónde el código a ejecutar de cumplirse la condición se encierra entre llaves. Esta característica tiene el propósito de mejorar la legibilidad de los programas.

Veamos el uso de la sentencia if con un ejemplo:

>>> x = 15
>>> if x > 10:
...     print('x es mayor que 10')
... 
x es mayor que 10

En el ejemplo empezamos asignando a la variable x el valor 15. A continuación evaluamos si cumple la condición de que la variable x es mayor a 10. Como se da el caso, la condición se evalúa como verdadera. Es por ello que el programa ejecuta la sentencia print().

Sentencia else

A la sentencia if se le puede añadir opcionalmente una sentencia else. Esta sentencia contiene el código a ejecutar en caso de que no se cumpla la condición de la sentencia if. Esta estructura se expresa del siguiente modo:

if condicion:
    # ejecutar un código
else:
    # ejecutar un código distinto

Veamos un ejemplo parecido al anterior al que se le ha añadido una sentencia else:

>>> x = 5
>>> if x > 10:
...     print('x es mayor que 10')
... else:
...     print('x es menor o igual que 10')
... 
x es menor o igual que 10

En este caso a la variable x se le asigna el valor 5. Como ahora no es verdad que x sea mayor que 10, la condición de la sentencia if se evalúa como falsa. Por tanto, el programa ejecuta la instrucción bajo la sentencia else.

Sentencia elif

A una sentencia if else se pueden añadir un número indefinido de condiciones adicionales a verificar. Estas condiciones se definen mediante la sentencia elif , la cual es un abreviación de else if. Ésta se define así:

if condicion:
    # ejecutar un código
elif otra_condicion:
    # ejecutar otro código
else:
    # ejecutar un código distinto

Siguiendo con el ejemplo de los números, podemos añadir una sentencia elif del siguiente modo:

>>> x = 7
>>> if x > 10:
...     print('x es mayor que 10')
... elif x < 10:
...     print('x es menor que 10')
... else:
...     print('x es 10')
... 
x es menor que 10

En este caso como x tiene asignado el valor 7, la condición de la sentencia elif se evalúa como verdadera. Por este motivo el programa ejecuta la instrucción print() asociada a esta sentencia.

Un punto importante de las sentencias if elif es que una cuando una condición es evaluada como verdadera se ignoran el resto de condiciones. Este hecho se ilustra en el siguiente ejemplo:

>>> x = 15
>>> if x > 5:
...     print('x es mayor que 5')
... elif x > 10:
...     print('x es mayor que 10')
... else:
...     print('x es menor que 5')
... 
x es mayor que 5

En el ejemplo nunca va a evaluarse la condición de la sentencia elif, ya que los valores mayores que 10 también cumplen la condición de la sentencia if (ser mayores que 5). Por consiguiente la instrucción print asociada al elif es una línea de código inaccesible.

Sentencia pass

En ciertas ocasiones necesitamos añadir código auxiliar a nuestros programas. Por ejemplo, añadimos una sentencia if que completamos posteriormente con su código a ejecutar. Como en Python se usa la indentación para delimitar las sentencias condicionales, si el intérprete no encuentra código indentado después de una sentencia if, lanza un error de tipo IndentationError. Este tipo de errores los puede detectar automáticamente un IDE para Python o una aplicación como Atom con el paquete linter-flake8. En cualquier caso, como se ilustra en el siguiente bloque de código, siempre podemos hacer uso de una sentencia pass la cual actúa como un marcador que hace que el interprete no nos lance un error.

if Ture:
    pass
print('Seguir...')
Foto del autor

Albert Brugués

Soy doctor en informática médica y un apasionado de la tecnología y las nuevas oportunidades que brinda. Más en particular me encanta la inteligencia artificial y el desarrollo web. En este blog pretendo compartir los conocimientos de Python que he ido adquiriendo a lo largo de los años.

8 comentarios en «Sentencias Condicionales en Python»

    • Hola gerson, en una sentencia if hay que indentar todo el código que ha de ejecutarse en caso que se cumpla la condición que estamos comprobando.

      Responder

Deja un comentario