Logiska uttryck - typen bool
#
Ett logiskt uttryck är ett uttryck vars värde är True
eller False
Denna typ kallas för bool
. Sådan värden används typiskt i if
- och
while
-satser men förekommer bland annat även i tilldelningssatser.
Exempel:
age = ...
teenager = age > 12 and age <= 19
som sätter teenager
till True
om age
har ett värde i intervallet
från 13 till 19.
Det finns operatorer som returnerar logiska värden:
relationsoperatorer för jämförelser av värden och
logiska operatorer som utför de logiska operationerna not, and och or.
Relationsoperatorerna är:
<
|
mindre än |
<=
|
mindre än eller lika med |
==
|
lika med |
>=
|
större än eller lika med |
>
|
större än |
!=
|
skiljt från |
De logiska operatorerna är:
not
|
logiskt icke |
and
|
logiskt och |
or
|
logiskt eller |
Relationsoperatorerna har högre prioritet än de logiska operatorerna och
av de logiska har not
(icke) högst och or
(eller) lägst.
Beräkningsordningen kan styras med med parenteser.
Exempel:
male = ... # True eller False
gubbe = male and age >= 50
gumma = not male and age >= 50
x = not (male and age >= 50) # Vilka personer uppfyller detta?
Att alla värden kan tolkas logiskt kan ställa till problem. Om man t.ex.
vill veta att x
är större än både a
och b
kan man alltså inte
skriva
if x > a and b:
utan måste skrivas
if x > a and x > b:
Python tillåter, till skillnad från många andra programmeringsspråk, att man skriver relationsuttryck på formen
teenager = 12 < age <= 19