Python si… otra declaración
¿Qué es la declaración if… else en Python?
La toma de decisiones es necesaria cuando queremos ejecutar un código solo si se cumple una determinada condición.
los if…elif…else
La declaración se usa en Python para la toma de decisiones.
Sintaxis de la instrucción if de Python
if test expression: statement(s)
Aquí, el programa evalúa la test expression
y ejecutará declaraciones solo si la expresión de prueba es True
.
Si la expresión de prueba es False
la(s) instrucción(es) no se ejecuta(n).
En Python, el cuerpo del if
declaración se indica mediante la sangría. El cuerpo comienza con una sangría y la primera línea sin sangría marca el final.
Python interpreta los valores distintos de cero como True
. None
y 0
se interpretan como False
.
Diagrama de flujo de declaración if de Python
Ejemplo: declaración if de Python
# If the number is positive, we print an appropriate message
num = 3
if num > 0:
print(num, "is a positive number.")
print("This is always printed.")
num = -1
if num > 0:
print(num, "is a positive number.")
print("This is also always printed.")
Cuando ejecute el programa, la salida será:
3 is a positive number This is always printed This is also always printed.
En el ejemplo anterior, num > 0
es la expresión de prueba.
el cuerpo de if
se ejecuta solo si esto se evalúa como True
.
Cuando la variable número es igual a 3, la expresión de prueba es verdadera y las declaraciones dentro del cuerpo de if
son ejecutados.
Si la variable número es igual a -1, la expresión de prueba es falsa y las declaraciones dentro del cuerpo de if
se saltan.
los print()
declaración cae fuera de la if
bloque (sin sangría). Por lo tanto, se ejecuta independientemente de la expresión de prueba.
Python si… otra declaración
Sintaxis de si… más
if test expression: Body of if else: Body of else
los if..else
declaración evalúa test expression
y ejecutará el cuerpo de if
sólo cuando la condición de prueba es True
.
Si la condición es False
el cuerpo de else
es ejecutado. La sangría se utiliza para separar los bloques.
Diagrama de flujo de Python if..else
Ejemplo de si… más
# Program checks if the number is positive or negative
# And displays an appropriate message
num = 3
# Try these two variations as well.
# num = -5
# num = 0
if num >= 0:
print("Positive or Zero")
else:
print("Negative number")
Producción
Positive or Zero
En el ejemplo anterior, cuando número es igual a 3, la expresión de prueba es verdadera y el cuerpo de if
se ejecuta y el body
de else se salta.
Si número es igual a -5, la expresión de prueba es falsa y el cuerpo de else
es ejecutado y el cuerpo de if
se salta
Si número es igual a 0, la expresión de prueba es verdadera y el cuerpo de if
se ejecuta y body
de else se salta.
Python si… elif… otra declaración
Sintaxis de if…elif…else
if test expression: Body of if elif test expression: Body of elif else: Body of else
los elif
es la abreviatura de else if. Nos permite buscar múltiples expresiones.
Si la condición para if
es False
comprueba el estado del siguiente elif
bloque y así sucesivamente.
Si todas las condiciones son False
se ejecuta el cuerpo de else.
Solo un bloque entre varios if...elif...else
bloques se ejecuta de acuerdo con la condición.
los if
bloque solo puede tener uno else
bloquear. Pero puede tener varios elif
bloques
Diagrama de flujo de if…elif…else
Ejemplo de si… elif… más
'''In this program,
we check if the number is positive or
negative or zero and
display an appropriate message'''
num = 3.4
# Try these two variations as well:
# num = 0
# num = -4.5
if num > 0:
print("Positive number")
elif num == 0:
print("Zero")
else:
print("Negative number")
cuando es variable número es positivo, Numero positivo está impreso.
Si número es igual a 0, Cero está impreso.
Si número es negativo, Numero negativo está impreso.
Python declaraciones if anidadas
podemos tener un if...elif...else
declaración dentro de otra if...elif...else
declaración. Esto se llama anidamiento en la programación de computadoras.
Cualquier número de estas declaraciones se puede anidar una dentro de otra. La sangría es la única forma de averiguar el nivel de anidamiento. Pueden resultar confusos, por lo que deben evitarse a menos que sea necesario.
Python anidado si ejemplo
'''In this program, we input a number
check if the number is positive or
negative or zero and display
an appropriate message
This time we use nested if statement'''
num = float(input("Enter a number: "))
if num >= 0:
if num == 0:
print("Zero")
else:
print("Positive number")
else:
print("Negative number")
Salida 1
Enter a number: 5 Positive number
Salida 2
Enter a number: -1 Negative number
Salida 3
Enter a number: 0 Zero