Booleans¶
Tipus i valors¶
Tipus booleà:
boolValors literals booleans:
True,False
Operadors relacionals¶
Operador relacional: igualtat (
==), desigualtat (!=), comparació o ordre (<,<=,>,>=)Tenen dos operands (binaris) i s’escriuen entre ells (infix)
Els operands són nombres (de moment)
Ordre d’avaluació:
Són menys prioritaris que la suma i la resta
L’associativitat és d’esquerra a dreta
Operadors booleans¶
Operador booleà o lògic:
and,orinotSemàntica (significat) dels operadors lògics
A and B:Truesi tantAcomBsónTrueiFalseen qualsevol altre casA or B:Falsesi tantAcomBsónFalseiTrueen qualsevol altre casnot A:TruesiAésFalseiFalsesiAésTrue
Taula de veritat
a
b
a and b
a or b
not a
False
False
False
False
True
False
True
False
True
True
False
False
True
False
True
True
True
True
Expressió booleana: tota expressió que s’avalua a un objecte booleà.
Lleis i equivalències lògiques¶
Avaluació amb curtcircuit¶
Mètode d'avaluació dels operadors
andiorandamb curtcircuits’avalua l’operand de l’esquerra
si és
False, retorna aquest valor (sense avaluar l’operand de la dreta)altrament, retorna el resultat d’avaluar l’operand de la dreta
oramb curtcircuits’avalua l’operand de l’esquerra
si és
True, retorna aquest valor (sense avaluar l’operand de la dreta)altrament, retorna el resultat d’avaluar l’operand de la dreta
Vegeu booleans a python:reference/index
Igualtat en nombres en coma flotant¶
>>> x = 0.1*3
>>> y = 0.3
>>> x == y
False
>>> epsilon = 1e-7
>>> abs(x-y) < epsilon
True
Cal decidir una tolerància \(\epsilon\).
Funcions booleanes¶
Són funcions que retornen un objecte booleà
>>> def es_divisible(a, b): ... return a%b == 0 >>> es_divisible(6, 4) False >>> es_divisible(6, 3) True
Vegeu la secció Boolean functions del llibre How to Think Like a Computer Scientist
Exercicis¶
Física, punt 5
Equació de segon grau, punts 2 i 3
Zona de cerca, punt 4
Vèrtexs d’un quadrat, punt 3