Tutorial de Python - Control de decisiones
-
Sentencia
if...else
-
Sentencia
if
-
Sentencia
if...else
-
Sentencia
if...elif...else
-
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
.
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.
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
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook