Tutorial de Python - Control de decisiones

  1. Sentencia if...else
  2. Sentencia if
  3. Sentencia if...else
  4. Sentencia if...elif...else
  5. Declaraciones anidadas if

En esta sección, aprenderás la construcción de la toma de decisiones en la programación en Python. La construcción de decisión más usada es una construcción if...else.

Sentencia if...else

La sentencia if...else se usa cuando tienes dos bloques de sentencias y quieres ejecutar sólo una basada en algunas condiciones. En la programación en Python, la mayoría de las veces if...elif...else se utiliza como constructo para la toma de decisiones.

Sentencia if

En la sentencia if sólo tienes un bloque de sentencias y este bloque se ejecuta sólo cuando la condición es True, se ignora cuando la condición es False.

A continuación se muestra la sintaxis de la declaración if en Python:

if condition:
    statement(s)

El cuerpo de la declaración if en Python no está rodeado por llaves, sino que se usa la indentación. El final del cuerpo se indica con la primera línea no deseada.

Ejemplo de declaración if

Considere el siguiente ejemplo en el que se utiliza la sentencia if:

a = 24
if a % 2 == 0:
    print(a, "is an even number")
b = 23
if b % 2 == 0:
    print(b, "is an odd number")
24 is an even number

En este código, a la variable a se le asigna un valor primero y luego se evalúa la condición en la sentencia if. Comprueba si a es un número par o no tomando el módulo de a con 2 y si el resultado de % (mod) es 0 entonces el control enter en el cuerpo de if y la sentencia print se ejecuta.

Entonces a b se le asigna un número impar 23. La condición en la sentencia if no es True, por lo tanto print(b, "is an odd number") no se ejecutará.

Sentencia if...else

La siguiente es la sintaxis de una declaración de if...else:

if condition:
    block of statements
else:
    block of statements

En if...else, si el if la condición es True, se ejecuta el bloque correspondiente de declaraciones, de lo contrario se ejecutará el bloque de declaraciones de la parte else.

Ejemplo de declaración if...else

Considere el código de abajo en el cual if...else es usado:

a = 44
if a%2==0:
    print(a, "is an even number")
else:
    print(a, "is an odd number")
44 is an even number

Aquí si a es par, se imprimirá a is an even number, de lo contrario se imprimirá a is an odd number.

Nota

Los bloques if y else no pueden ser ejecutados o ignorados. Sólo se ejecuta un bloque en función de si la condición es True o no.

Sentencia if...elif...else

La siguiente es la sintaxis de la frase if...elif...else:

if condition:
    block of statements
elif condition:
    block of statements
else:
    block of statements

elif significa else if y puede ser usado varias veces en esta construcción if..elif..else.

Cuando la condición de if se convierte en False, la condición de elif será comprobada y así sucesivamente. Cuando todas las condiciones de if y elif son False, la parte de else será ejecutada.

Nota

Sólo se ejecutará un bloque.

Ejemplo de declaración if ... elif ... else

Considere el código de abajo en el que hemos usado la declaración if...elif...else que comprueba múltiples condiciones:

a = -34
if a > 0:
    print("Number is Positive")
elif a < 0:
    print("Number is Negative")
else:
    print("Number is zero")
Number is Negative

Declaraciones anidadas if

En Python, puedes tener un if dentro de otra declaración if. Esto se llama declaración if anidada.

Puedes anidar cualquier tipo de declaración if cualquier número de veces. Pero no es una buena práctica usar estructuras de if anidadas en lenguajes de programación, ya que la legibilidad del programa se vuelve peor.

Ejemplo de sentencias if anidadas

En el siguiente código, se utiliza la estructura anidada if para encontrar el número más grande:

T = 52

if T > 25:
    if T < 50:
        print("Temperature is higher than 25 but lower than 50")
    else:
        print("Temperature is higher than 50")
else:
    if T < 0:
        print("Temperature is lower than 0")
    else:
        print("Temperature is higher than 0 but lower than 25")
Temperature is higher than 50
comments powered by Disqus