Tras lo visto en el capítulo anterior sobre las estructuras de control, ahora toca descubrir otras cosas sencillas y esenciales con respecto a nuestro entorno de programación.
Lógica Boolena
Hablando desde el punto de vista matemático, el álgebra de Boole es un triple (A,+, .), de donde A es un conjunto finito, y + y . son operaciones internas definidas.
Volviendo con lo que se nos atañe en nuestro cursillo, la lógica booleana es necesaria en Python para realizar condicionales que dependen de más de una condición.
La lógica booleana se puede ver en otros usos, como las tablas de verdad, o las puertas lógicas utilizadas para determinar la salida de los transistores en el mundo de la electrónica digital.
Los operadores son: and, not y or.
And: se evalúa como True, si las dos condiciones son True. True + True= True. False+False = False, True+ False= False, False + True= False.
Or: se evalúa como True, si alguna de las dos condiciones propuestas lo es. True+True= True, False+ true= True, True+ False= true, False+False= False.
Not: recibe un argumento y lo invierte.
operacion = (1==1 or 2==32) print(operacion) output: True
operacion = (1==1 and 2==2) print(operacion) output: True
operacion = (1==1 or 2==2) print(not(operacion)) output: False
Precedencia de operadores
Veamos un par de ejemplos. «==» tiene mayor importancia que otro operador como «or«.
precedencia= (False==False or True) print(precedencia) output: true
precedencia= (False==(False or True))
print(precedencia)
precedencia= ((False==False) or True)
print(precedencia)
Para más información sobre la precedencia de los operadores en Python, haga click aquí.
Bucles while
Una sentencia while puede ser ejecutada más de una vez: genera un bucle hasta que no se cumpla una condición. La sentencia while se ejecutará, hasta que la condición impuesta no sea cierta.
num = 2 while (num<=5): print(num) num= num + 1 print("se termino el programa") output: 2 3 4 5
Se conoce como bucle infinito, aquel bucle que nunca va a dejar de ser ejecutado. Esto sucede cuando la condición impuesta va a ser cierta siempre.
while ( 1==1):
print("nos quedamos en el bucle compa")
En el caso que deseemos finalizar un bucle de manera abrupta, se usará la sentencia break.
i = 0 while (2 == 2): #condición que se cumplirá siempre print(i) i = i+1 if (i>=6): #condicion para salir del bucle con uso de break print("break") break print("acabado")
En caso contrario a la sentencia break, existe continue, que se encarga de volver al principio del bucle en vez de pararlo.
i = 0 while (2 == 2): i = i+ 1 if (i == 3): print("nos saltamos el 3") continue if (i == 5): print("Breaking") break print(i)
print("acabado") output: 1 2 nos saltamos el 3 4 Breaking acabado
Fin de la lección número 5.