Valores booleanos¶
Consideremos la siguiente sentencia:
if a > b :
sentencias a ejecutar
Al evaluar la expresión a > b, se obtiene un resultado, como sucede con
las expresiones aritméticas:
>>> 5 + 2
7
>>> 5 > 2
True
>>> 5 < 2
False
Los resultados de una expresión de comparación solo pueden ser dos, verdadero o falso, que en Python se expresan mediante las palabras True y False (la letra inicial en mayúscula). Son palabras reservadas del lenguaje.
Los valores True y False se pueden asignar a una variable:
>>> valor1 = 5 + 2
>>> valor2 = 5 > 2
>>> print(valor1, valor2)
7 True
¿Cual es el tipo de esas variables?
>>> type(valor1)
<class 'int'>
>>> type(valor2)
<class 'bool'>
Los valores True y False son datos del tipo bool. A estos datos se les llama booleanos.
El término "booleano" se llama así en honor a un matemático británico del siglo XIX, George Boole. Él fue quien desarrolló las reglas de lógica que sirven de base para el funcionamiento de los modernos ordenadores.
Equivalencias¶
Toda sentencia if debe ir acompañada de una expresión o de una variable cuyo
valor sea booleano, es decir, True o False:
| Booleano1.py | |
|---|---|
1 2 3 4 5 6 | |
En este ejemplo, evaluamos una expresión condicional y asignamos el valor
resultante a una variable. En la sentencia if, en lugar de una condición,
usamos el valor de la variable. Lo que espera la sentencia if es que pongamos
algo cuyo valor sea True o False.
Pero, ¿que pasaría si en la sentencia if ponemos una expresión o variable
que no sea booleana? Por ejemplo:
| Descuento.py | |
|---|---|
1 2 3 4 5 6 7 | |
Esto muestra:
A pagar: 950.0
En teoría, deberíamos escribir:
if descuento != 0 :
importe = importe - (importe*5/100)
pero Python considera que todo valor numérico distinto de cero equivale a True, mientras que el cero equivale a False. De igual forma, una cadena de texto con cero caracteres, equivale a False:
| NombreEnBlanco.py | |
|---|---|
1 2 3 | |
En lugar de:
if len(nombre)>0 :
escribimos:
if nombre :
Si el usuario teclea Enter directamente, obtenemos una cadena de texto sin caracteres, lo que se conoce como cadena vacía. También podemos crear cadenas vacías mediante:
texto = ""
Una cadena vacía equivale a False en el contexto de una
sentencia if. Cualquier otra cadena equivale a True.