La toma de decisiones es uno de los conceptos más fundamentales de la programación informática. Python admite las declaraciones de control de flujo comunes que se encuentran en otros lenguajes, con algunas modificaciones. El if
La declaración de control es una de las declaraciones más básicas y conocidas que se utilizan para ejecutar código en función de una condición específica.
En este artículo, repasaremos los conceptos básicos del if
declaración en Python.
Python if
Declaración #
La forma más básica del if
declaración en Python es la siguiente:
if EXPRESSION:
STATEMENT
El if
La declaración comienza con if
palabra clave seguida de la expresión condicional.
La EXPRESSION
debe ir seguido de (:
) colon. Si la EXPRESSION
se evalúa como True
, la STATEMENT
se ejecuta Si EXPRESSION
devuelve False
, no pasa nada; la STATEMENT
se ignora STATEMENT
ser cualquier declaración, incluidas varias declaraciones o if
más anidados declaraciones. Para no ejecutar declaraciones, use el pass
declaración.
La STATEMENT
bloque comienza con una sangría y termina con la primera línea sin sangría. La mayoría de las personas eligen usar sangría de 4 espacios o de 2 espacios. La Guía de estilo oficial para Python Code recomienda usar 4 espacios por nivel de sangría y evitar mezclar tabulaciones y espacios para la sangría.
Veamos el siguiente script de ejemplo que comprueba si un número determinado es mayor que 5.
number = int(input('Enter a number: '))
if number > 5:
print(number, 'is greater than 5.')
Guarde el código en un archivo y ejecútelo desde la línea de comando:
python test.py
El script le pedirá que ingrese un número. Por ejemplo, si ingresa 10, la expresión condicional se evaluará como True
(10 es mayor que 5), y el print
se ejecutará la función.
10 is greater than 5.
Python admite operaciones de comparación estándar:
a == b
- Verdadero sia
yb
son iguales.a != b
- Verdadero sia
yb
no son iguales.a > b
- Verdadero sia
es mayor queb
.a >= b
- Verdadero sia
es igual o mayor queb
.a < b
- Verdadero sia
es menor queb
.a <= b
- Verdadero sia
es igual o menor queb
.
También puede usar el in
palabra clave para verificar si un valor está presente en un iterable (cadena, lista, tupla, diccionario, etc.):
s = 'linuxize'
if 'ze' in s:
print('True.')
Aquí hay otro ejemplo usando un diccionario:
d = {'a': 2, 'b': 4}
if 'a' in d:
print('True.')
Cuando se usa en un diccionario, el in
palabra clave comprueba si el diccionario tiene una clave específica.
Para negar la expresión condicional use el lógico not
operador:
number = int(input('Enter a number: '))
if not number < 5:
print(number, 'is greater than 5.')
if..else
Declaración #
Un if..else
instrucción evalúa una condición y ejecuta una de las dos declaraciones dependiendo del resultado.
Python if..else
declaración toma la siguiente forma:
if EXPRESSION:
STATEMENT1
else:
STATEMENT2
Si EXPRESSION
se evalúa como True
, STATEMENT1
es ejecutado. De lo contrario, si EXPRESSION
devuelve False
, STATEMENT2
es ejecutado. Solo puedes tener un else
cláusula en la declaración.
El else
la palabra clave debe terminar con (:
) dos puntos y estar en el mismo nivel de sangría que el correspondiente if
palabra clave.
Agreguemos un else
cláusula al script de ejemplo anterior:
number = int(input('Enter a number: '))
if number > 5:
print(number, 'is greater than 5.')
else:
print(number, 'is equal or less than 5.')
Si ejecuta el código e ingresa un número, el script imprimirá un mensaje diferente según si el número es mayor o menor/igual a 5.
if..elif..else
Declaración #
El elif
palabra clave es la abreviatura de else if
.
Python if..elif..else
declaración toma la siguiente forma:
if EXPRESSION1:
STATEMENT1
elif: EXPRESSION2:
STATEMENT2
else:
STATEMENT3
Si EXPRESSION1
se evalúa como True
, las STATEMENTS1
es ejecutado. Si la EXPRESSION2
se evalúa como True
, las STATEMENTS2
es ejecutado. Si ninguna de las expresiones da como resultado True
, las STATEMENTS3
se ejecuta.
El elif
la palabra clave debe terminar con (:
) dos puntos y estar en el mismo nivel de sangría que el correspondiente if
palabra clave. Puede tener uno o más elif
cláusulas en la declaración. El else
cláusula es opcional. Si el else
no se usa la cláusula y todas las expresiones se evalúan como False
, ninguna de las sentencias se ejecuta.
Las condiciones se evalúan secuencialmente. Una vez que una condición devuelve True
, las condiciones restantes no se realizan y el control del programa se mueve al final del if
declaraciones.
Agreguemos un elif
cláusula al guión anterior:
number = int(input('Enter a number: '))
if number > 5:
print(number, 'is greater than 5.')
elif number < 5:
print(number, 'is less than 5.')
else:
print(number, 'is equal to 5.')
A diferencia de la mayoría de los lenguajes de programación, Python no tiene switch
o case
declaraciones. Una secuencia de múltiples elif
las sentencias se pueden usar como sustituto del switch
o case
.
Anidado if
Declaraciones #
Python te permite anidar if
declaraciones dentro de if
declaraciones. En general, siempre debe evitar la sangría excesiva e intentar usar elif
en lugar de anidar if
declaraciones.
El siguiente script le pedirá que ingrese tres números e imprimirá el número más grande entre los números.
number1 = int(input('Enter the first number: '))
number2 = int(input('Enter the second number: '))
number3 = int(input('Enter the third number: '))
if number1 > number2:
if number1 > number3:
print(number1, 'is the largest number.')
else:
print(number3, 'is the largest number.')
else:
if number2 > number3:
print(number2, 'is the largest number.')
else:
print(number3, 'is the largest number.')
Así es como se verá la salida:
Enter the first number: 455
Enter the second number: 567
Enter the third number: 354
567 is the largest number.
Condiciones Múltiples #
El or
lógico y and
los operadores le permiten combinar múltiples condiciones en el if
declaraciones.
Aquí hay otra versión del script para imprimir el número más grande entre los tres números. En esta versión, en lugar del if
anidado declaraciones, usaremos los and
lógicos operador y elif
.
number1 = int(input('Enter the first number: '))
number2 = int(input('Enter the second number: '))
number3 = int(input('Enter the third number: '))
if number1 > number2 and number1 > number3:
print(number1, 'is the largest number.')
elif number2 > number3 and number2 > number3:
print(number2, 'is the largest number.')
else:
print(number3, 'is the largest number.')
Conclusión #
El if
, if..else
y if..elif..else
Las declaraciones le permiten controlar el flujo de la ejecución de Python al evaluar las condiciones dadas.
Si tiene alguna pregunta o comentario, no dude en dejar un comentario.