Logga in för att kunna spara vad du har gjort.
<< Föregående
Hem
Nästa >>
VARNING! Fönstret är för smalt för att använda pythonlabbet.se fullt ut. Använd en enhet med tangentbord!

Logiska uttryck

I det här avsnittet kommer du att lära dig

Logiska uttryck

Ett logisk uttryck är något som antingen är sant (engelska: true) eller falskt (engelska: false). Säg att vi frågar efter användarens ålder. Är användarens ålder är större än 18? Det är antingen sant eller falskt. Vi kan skriva ålder > 18 och detta är ett logiskt uttryck. Om vi använder print på ett logiskt uttryck i Python kommer vi att få antingen True eller False som utskrift.

Exempel

Två exempel på logiska uttryck som är sanna. I båda fallen jämförs en variabel med ett tal.

x = 5
print(x == 5) #x är lika med 5? (sant)
print(x != 10) #x är INTE lika med 10? (sant)

Notera att två likhetstecken == används för att jämföra om två saker är lika. Det är ett mycket vanligt fel att råka skriva endast ett likhetstecken vid jämförelse.

Exempel

Två exempel på logiska uttryck som är falska. I detta exempel jämförs två variabler med varandra.

x = 5
y = 10
print(x > y) #x är större än y? (falskt)
print(y <= x) #x är mindre än eller lika med y? (falskt)

I exemplena ovan användes olika sorters jämförelser och de vanligaste jämförelserna sammanfattas i tabellen nedan.

Jämförelse Betyder
== Lika med
!= Inte lika med
< Mindre än
> Större än
<= Mindre än eller lika med
>= Större än eller lika med

Det går bra att jämföra heltal (int) med decimaltal (float), däremot går det inte av naturliga skäl att jämföra tal med strängar. Mellan två strängar går det utmärkt att använda alla jämförelser ovan. Strängarna jämförs alfabetiskt, till exempel är 'sol' < 'stjärna' sant.

Logga in eller skapa konto för att spara dina framsteg och din kod.

Vad gör koden?

Läs koden nedan och försök lista ut vad programmet skriver ut. Kör programmet efter du svarat och se om du fick rätt.

-- Programmets utskrifter --

Fråga: Vad kommer programmet ovan att skriva ut?

False
False
False
True
True
False
True
True

Logga in eller skapa konto för att spara dina framsteg och din kod.

Vad gör koden?

Läs koden nedan och försök lista ut vad programmet skriver ut. Kör programmet efter du svarat och se om du fick rätt.

-- Programmets utskrifter --

Fråga: Vad kommer programmet ovan att skriva ut?

False
False
False
True
True
False
True
True

Logga in eller skapa konto för att spara dina framsteg och din kod.

Vad gör koden?

Läs koden nedan och försök lista ut vad programmet skriver ut. Kör programmet efter du svarat och se om du fick rätt.

-- Programmets utskrifter --

Fråga: Vad kommer programmet ovan att skriva ut?

0.3
False
0.3
True

Om du vill läsa mer om vad som egentligen hände i övningen ovan, se här på python.org.

Datatyp för sant eller falskt

Det går utmärkt att spara värdet av ett logiskt uttryck (True eller False) i en variabel. Det kallas för en boolesk (engelska: boolean) variabel. Ordet boolesk kommer du inte höra ofta, oftast används det engelska ordet boolean eller bara bool. En boolean är den datatyp som tar minst plats i minnet, den behöver bara en bit. 0 för False och 1 för True.

Exempel

True sparas i variablen x eftersom 3 > 2 är sant.

x = 3 > 2

Kombinera logiska uttryck

Vi ska nu använda två så kallade logiska operatorer, and (svenska: och) och or (svenska: eller).

Med and måste uttrycken på båda sidor om and vara sanna för att det kombinerade uttrycket ska vara sant. Om något av uttrycken runt and är falskt så blir hela uttrycket falskt. En vanlig användning är att se efter om en variabel är inom ett intervall, se exemplet nedan.

Exempel på and

Se efter om variabel x ligger mellan 10 och 20. Prova att ändra på x.

x = 15
print(x > 10 and x < 20)

Med or behöver minst ett av uttrycken runt or vara sant för att det kombinerade uttrycket ska bli sant. För att det kombinerade uttrycket ska vara falskt måste alltså båda logiska uttryck runt or vara falska. En vanlig användning är att se om en variabel är utanför ett intervall, se exemplet.

Exempel på or

Se efter om variabel x ligger utanför intervallet [10, 20]. Prova att ändra på x.

x = 5
print(x < 10 or x > 20)

Logga in eller skapa konto för att spara dina framsteg och din kod.

Vad gör koden?

Läs koden nedan och försök lista ut vad programmet skriver ut. Kör programmet efter du svarat och se om du fick rätt.

-- Programmets utskrifter --

Fråga: Vad kommer programmet ovan att skriva ut?

False
False
False
True
True
False
True
True
Status
Du har inte gjort klart någon uppgift än (0 st).