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 : FEL
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