I det här avsnittet kommer du att lära dig
Nu ska vi lära oss hur vi kan få programmet att köra olika delar av koden beroende på olika villkor. Att kunna styra vilken kod som körs i olika situationer är helt grundläggande inom programmering.
Tänk vad som händer när du trycker på tangentbordet. Vad som ska hända då beror såklart på vilken tangent du har tryckt på. Om (engelska: if) du har tryckt på ESC kanske något ska avbrytas och om du trycker på Enter händer något helt annat.
Syntaxen (hur man skriver) för en if-sats är if villkor: där villkor är ett logiskt uttryck, alltså sant eller falskt. Om villkoret är sant så körs koden under if-satsen, är villkoret falskt så hoppas koden över. I Python indenteras koden under if i ett eget block (se första avsnittet).
En första if-sats. Prova ändra på värdet i x och se vad som händer.
x = 10
if x == 10:
print('x är lika med 10')
print('Slut')
Vi testar om användaren heter Darth Vader eller Yoda och skriver i så fall ut ett meddelande. Observera att Python gör skillnad på små och stora bokstäver.
namn = input('Skriv ditt namn')
if namn == 'Darth Vader':
print('Du är inte snäll.')
if namn == 'Yoda':
print('Du är jättesnäll.')
print('Hejdå ' + namn)
Logga in eller skapa konto för att spara dina framsteg och din kod.
Koden nedan innehåller ett indenteringsfel. Det är upp till dig att fixa koden.
-- Programmets utskrifter --
Logga in eller skapa konto för att spara dina framsteg och din kod.
Skriv ett program som frågar användaren om temperaturen (heltal) utomhus. Om temperaturen är mindre än -10, skriv ut Stanna inne. Ifall temperaturen är större än eller lika med -10, skriv ut Gå ut.
-- Programmets utskrifter --
Ibland är det bra att köra en viss kod om något är sant (som vi gjorde med en if-sats) och annars (engelska: else) köra någon annan kod. Du kan använda else för att köra kod ifall villkoret i if-satsen är falskt. En else går inte använda ensamt, utan används alltid i samband med if.
Ett enkelt exempel på användning av else. Notera att else är på samma indenteringsnivå som if.
namn = input('Vad heter du?')
if namn == 'Elsa':
print('Jag tror din syster heter Anna.')
else:
print('Du heter inte Elsa.')
Ett annat enkelt exempel på användning av else.
alder = int(input('Hur gammal är du?'))
if alder >= 18:
print('Du är vuxen!')
else:
print('Du är under 18 år.')
Logga in eller skapa konto för att spara dina framsteg och din kod.
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?
Logga in eller skapa konto för att spara dina framsteg och din kod.
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?
De flesta programmeringsspråk har något som heter else if eller elseif (svenska: annars om). I Python används istället förkortningen elif. Precis som för else används elif bara i samband med en if-sats och programmet kommer bara dit om villkoret i if-satsen ovan är falsk. Skillnaden är att med elif skriver vi ett nytt villkor som måste vara sant för att kodblocket under ska köras.
Du kan använda hur många elif du vill på rad. En if-sats börjar att alltså med if villkor:, följt av inga, en eller flera elif villkor: och avslutas eventuellt med en else:. Tänk dig att else är det som händer om inga villkor ovanför är sanna.
En meny med hjälp elif och else.
menyval = int( input('Gör ditt val:') )
if menyval == 1:
print('Pizza beställd.')
elif menyval == 2:
print('Hamburgare beställd.')
elif menyval == 3:
print('Soppa beställd.')
else:
print('Ditt val är inte giltigt.')
Logga in eller skapa konto för att spara dina framsteg och din kod.
-- Programmets utskrifter --
Logga in eller skapa konto för att spara dina framsteg och din kod.
Ditt program ska ta ett heltal som input. Om användaren skriver in ett negativt tal ska programmet skriva ut Negativt, om talet är positivt ska programmet skriva ut Positivt och annars skrivs Noll ut.
-- Programmets utskrifter --
Vill du träna på en liknande uppgift? Se aktiviteten Vilket programmeringsspråk.