Control de Flujo
Los computadores van por un flujo de decisiones a medida que se ejecuta un programa, evaluando condiciones a medida que corre.

Expresiones Booleanas

Una expresión booleana es una cláusula que puede ser evaluada a True o False y sin dejar lugar a duda o ser una respuesta ambigua.
    Hoy es fin de semana? La respuesta puede ser evaluada por True o False.
    ¿El viernes es el mejor dia de la semana? La respuesta a esto es una opinión, y no es objetivo.

Operadores relacionales

Podemos crear expresiones booleanas usando operadores relacionales. Los operadores relacionales comparan dos ítems y retorna True o False. También se conocen como “comparadores” Los dos primeros que veremos son:
    Igual: ==
    No igual: !=
Ejecutamos lo siguiente desde la consola de Python:
1
>>> 1 == 1
2
True
3
>>> 2 != 4
4
True
5
>>> 3 == 5
6
False
7
>>> '7' == 7
8
False
Copied!

Variables booleanas

Se trata de cualquier variable que tenga asignado un valor booleano, tal como True o False, sea directamente o porque va a evaluar alguna condición.
Seguimos ejecutando en la consola de Python
1
>>> set_to_true = True
2
>>> set_to_false = False
3
>>> booleano_uno = 5 != 7
4
>>> booleano_dos = 1 + 1 != 2
5
>>> booleano_tres = 3 * 3 == 9
6
>>> booleano_uno
7
True
8
>>> booleano_dos
9
False
10
>>> booleano_tres
11
True
Copied!

Sentencias if

Los operadores relacionales y las variables booleanas son los bloques que constituyen las sentencias condicionales if. ¿Cuál es la expresión booleana en la siguiente frase? : "Si está lloviendo, entonces saca la sombrilla".
Respuesta: "Si está lloviendo" = Es la parte de la frase que puede ser evaluada a True o False sin dejar lugar a duda.
1
if esta_lloviendo:
2
llevar_sombrilla()
Copied!
Todo lo que está después de los : será ejecutado si el condicional es encontrado. Los valores internos deben estar indentados.
1
if 2 == 4 - 2:
2
print("apple")
Copied!
¿Este condicional imprime "apple"? R:/ si lo imprime ya que cumple el condicional.

Operaciones Relacionales II

Hay un montón de operadores relacionales ya vimos algunos, y aquí tenemos más:
    mayor que: >
    menor que: <
    mayor o igual que: >=
    menor o igual que: <=
Supongamos que estamos corriendo una plataforma de streaming y queremos escribir una función que chequee si el usuario tiene más de 13 años y restringir ver cierto tipo de películas.
1
def checkeo_edad(edad):
2
if edad >= 13:
3
return TrueF
Copied!
Haz la prueba en tu maquina, llama a la función checkeo_edad() y pásale diferentes argumentos para ver cómo se comporta.

Operaciones Booleanas:

A menudo los condicionales que usted evaluará requerirán más de dos expresiones booleanas. Puede hacerlo con operadores booleanos (también llamados operadores lógicos). Los operadores booleanos son:
    and
    or
    not

and

Combina dos expresiones booleanas y evalúa a True si ambas son True. Y evalúa False de lo contrario
Haz las siguientes operaciones desde tu consola
1
>>> (1 + 1 == 2) and (2 + 2 == 4)
2
True
3
>>> (1 + 1 == 2) and (2 < 1)
4
False
5
>>> (1 > 9) and (5 != 6)
6
False
7
>>> (0 == 10) and (1 + 1 == 1)
8
False
Copied!

or

Combina dos expresiones booleanas y evalúa a True si cualquiera de las dos son True y False de lo contrario
1
>>> True or (3 + 4 == 7)
2
True
3
>>> (1 - 1 == 0) or False
4
True
5
>>> (2 < 0) or True
6
True
7
>>> (3 == 8) or (3 > 4)
8
False
Copied!

not:

Cuando es aplicado a cualquier expresión booleana, not reversa el valor booleano. Si tenemos un valor True y aplicamos not, el operador que obtenemos es False.
1
>>> not True == False
2
True
3
>>> not False == True
4
True
5
>>> not 1 + 1 == 2
6
False
7
>>> not 7 < 0
8
True
Copied!

Sentencias else

Una vez usted empieza a incluir una gran cantidad de cláusulas if el código comienza a volverse poco legible e intuitivo. Para esto hay otras herramientas que podemos usar para controlar el flujo. Las cláusulas else nos permiten describir que queremos hacer si las condiciones de la cláusula anterior no se cumplen. Las cláusulas else siempre aparecen en conjunto con las cláusulas if.
1
if dia_de_semana:
2
levantarse("6:30 am")
3
else:
4
seguir_durmiendo()
Copied!

Sentencias else if

La sentencia else if chequea otra condición después de los previos condicionales if, sino se cumplen. La sintaxis en python es elif.
1
def gracias(donacion):
2
if donacion >= 1000:
3
print("Gracias por su donación, ha alcanzado un estatus Platino!")
4
elif donacion >= 500:
5
print("Gracias por su donación, ha alcanzado un estatus Gold!")
6
elif donacion >= 100:
7
print("Gracias por su donación, ha alcanzado un estatus Silver!")
8
else:
9
print("Gracias por su donación, ha alcanzado un estatus Bronce!")
Copied!
Como puedes ver, el código se va ejecutando por medio de un flujo y unos condicionales, que de ser cumplidos ejecutarán e imprimirán el valor correspondiente. Llama a la función gracias() pasándole diferentes valores y testea los diferentes resultados.

Sentencias try y except

Existen estas otras dos sentencias con el fin de evaluar posibles errores que usted se podría encontrar. Estas sentencias van por un flujo similar, evaluando si se cumple o no se cumple una condición, en este caso una "prueba" y un "error". La sintaxis es la siguiente:
1
try:
2
# alguna operacion
3
except ErrorName:
4
# alguna operacion
Copied!
Como vemos, primero le decimos que "pruebe" una operación y luego le decimos que lance una "excepcion" si se da ese tipo de error. Vemoslo con un ejemplo:
1
def dividir(a, b):
2
try:
3
resultado = a / b
4
print(resultado)
5
except ZeroDivisionError:
6
print("No se puede dividir por cero!")
Copied!
Hagamos unas pruebas:
1
>>> dividir(10, 3)
2
3.3333333333333335
3
>>> dividir(10, 0)
4
No se puede dividir por cero!
Copied!
Last modified 8mo ago