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