OBS!
Fönstret är för smalt för att använda pythonlabbet.se. Använd en enhet med tangentbord!
Referens
Klicka på en funktion för att läsa mer.
Grunder del 1
Syntax
Kort beskrivning
break
break avbryter kod som repeteras
Exempel
while True:
print('Du är fin!')
svar = input('Ska jag sluta säga det? Skriv ja i så fall.')
if svar == 'ja':
break
Förklaring
break avbryter kod som repeteras. Till exempel när while används.
continue
continue avbryter en repetition och påbörjar nästa
Exempel
i = 0
while i < 100:
if i % 2 == 0: # fortsätt med nästa repetition om i är delbart med 2
continue
print(i,'är ett udda tal')
Förklaring
continue avbryter körningen i nuvarande repetition/iteration och fortsätter med nästa repetition. Används i while-satser och for-satser.
elif
elif är en kombination av else och if
Exempel #1
temp = int(input('Vad är temperaturen?'))
if temp > 20:
print('Varmt och skönt!')
elif temp > 0: #om temp <= 20 och temp > 0
print('Inte jättekallt, men inte så varmt heller.')
Exempel #2
tal = int(input('Skriv in ett heltal'))
if tal == 0:
print('Du skrev in talet 0.')
elif tal > 0:
print('Du skrev in ett positivt tal.')
else:
print('Du skrev in ett negativt tal.')
Förklaring
elif används enbart efter if. Det är en kombination av else och if, det vill säga ANNARS (det ovan är falskt) och OM (ifall det nya villkoret är sant). Villkoret vid elif testas endast om villkoret vid if är falskt.
Syntax
elif villkor:
villkor
Obligatorisk. Något som är True eller False.
else
else kan användas sist i en if-sats
Exempel
ålder = int(input('Hur gammal är du?'))
if ålder >= 18:
print('Du är vuxen!')
else:
print('Du är inte vuxen.')
Förklaring
else används enbart i slutet av ett block som startar med if och koden under else körs endast om villkort vid if är falskt.
float()
Konverterar till typen float (decimaltal)
Exempel
float('0.01') #konverterar strängen '0.01' till 0.01
float(10) #konverterar heltalet 10 till 10.0
Förklaring
Funktionen float() konverterar argumentet till typen float (decimaltal). Vanligtvis är argumentet en textsträng eller ett heltal.
Syntax
float(number)
Argument
number
Ett tal på formen av en textsträng eller ett heltal.
if
if styr koden att göra olika beroende på ett villkor
Exempel #1
tal = 10
if tal == 10:
print('Talet är lika med 10.') #detta kommer skrivas ut
Exempel #2
tal = int(input('Skriv in ett heltal'))
if tal == 0:
print('Du skrev in talet 0.')
elif tal > 0:
print('Du skrev in ett positivt tal.')
else:
print('Du skrev in ett negativt tal.')
Förklaring
if används för att styra vad programmet gör beroende på ett villkor. Om villkoret är sant körs koden i if-blocket. För att styra
vad som händer om villkoret inte är sant, kan elif och else användas.
Syntax
if villkor:
villkor
Obligatorisk. Något som är True eller False.
input()
Tar emot indata från användaren
Exempel
svar = input('Vad heter du?') #Användarens svar sparas i variablen svar
Förklaring
Funktionen input() låter användaren skriva indata till programmet. Det går att skicka med en text som beskriver vad som ska skrivas in.
Syntax
input(prompt)
Argument
prompt
En valfri text användaren får se.
int()
Konverterar till typen int (heltal)
Exempel
int(42) #konverterar strängen '42' till 42
int(3.94) #konverterar decimaltalet 3.94 till 3
Förklaring
Funktionen int() konverterar argumentet till typen int (heltal). Vanligtvis är argumentet en textsträng eller ett decimaltal.
Syntax
int(number)
Argument
number
Ett tal på formen av en textsträng eller ett decimaltal.
print()
Skriver ut text eller en variabels innehåll på skärmen
Exempel #1
print('Hello World') #skriver ut "Hello World"
print(1+1) #skriver ut talet 2
print(x) #skriver ut innehållet i variablen x
Exempel #2
print('Hello World', end='') #skriver ut "Hello World" utan att göra ny rad
Exempel #3
print('Hej','på','dig') #Skriver ut "Hej på dig"
print('Hej','på','dig',sep=' | ',end='!') #skriver ut "Hej | på | dig!" utan ny rad på slutet.
Förklaring
Funktionen print() skriver ut en textsträng på skärmen. Försöker automatiskt omvandla det som ska skrivas ut till text.
Syntax
print(*object, sep=' ', end='\n')
Argument
*object
Obligatorisk. Ett eller flera objekt som ska skrivas ut. Separera objekten med kommatecken.
sep
Tecken för att avskilja objekten som skrivs ut. Som standard mellanrum.
end
Tecken som avslutar texten som skrivs ut. Som standard "\n" - vilket betyder ny rad.
randint()
Konverterar till typen randint (heltal)
Exempel
from random import randint
kast = randint(1,6) #ett slumptal 1-6
Förklaring
Funktionen randint() genererar ett slumptal mellan två heltalsvärden a och b så att a <= N <= b. randint finns i module random.
Syntax
randint(a,b)
Argument
a
Det minsta slumptal som kan genereras.
b
Det största slumptal som kan genereras.
round()
Avrundar ett tal
Exempel #1
round(7.89) #avrundar till 8
round(1.23) #avrundar till 1
Exempel #2
round(1.23456,2) #avrundar 1.23
round(1.23456,4) #avrundar till 1.2346
Förklaring
Funktionen round() avrundar ett decimaltal. Som standard till ett heltal, det går att ställa in round() till att avrunda till godtyckligt antal decimaler.
Syntax
round(number, decimalplaces = 0)
Argument
number
Obligatoriskt. Talet som ska avrundas.
decimalplaces
Antal decimaler som talet ska avrundas till. Som standard satt till 0.
str()
Konverterar till typen sträng
Exempel #1
str(2.71) #konverterar decimaltalet 2.71 till strängen '2.71'
str(10) #konverterar heltalet 10 till '10'
Exempel #2
ålder = 15
print('Du är ' + str(ålder) + ' år gammal.')
Förklaring
Funktionen str() konverterar argumentet till en sträng. Ofta är argumentet ett heltal eller ett decimaltal. Det kan också vara betydligt mer komplexa datatyper som går att konvertera till strängar.
Syntax
str(object)
Argument
object
Ett objekt som kan konverteras till en sträng.
while
while används för att repetera kod
Exempel
n = int(input('Hur många tal vill du skriva ut?'))
i = 1
while i <= n:
print(i)
i = i + 1
Förklaring
while repeterar koden i blocket så länge villkoret är sant.
Syntax
while villkor:
villkor
Obligatorisk. Något som är True eller False. Måste bli falskt någon gång för att while-blocket ska lämnas.
if-satsen
I det här avsnittet kommer du att lära dig
Hur du skriver en if-sats
Om elif och else
Enkla if-satser
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).
Exempel
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')
x = 10
if x == 10:
print('x är lika med 10')
print('Slut')
Exempel
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)
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)
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 --
else
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.
Exempel
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.')
namn = input('Vad heter du?')
if namn == 'Elsa':
print('Jag tror din syster heter Anna.')
else:
print('Du heter inte Elsa.')
Exempel
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.')
alder = int(input('Hur gammal är du?'))
if alder >= 18:
print('Du är vuxen!')
else:
print('Du är under 18 år.')
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?
Feel the force!
You will find only what you bring in.
Do or do not. There is no try.
Great warrior. Wars not make one great.
Feel the force!
Great warrior. Wars not make one great.
Do or do not. There is no try.
You will find only what you bring in.
elif
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.
Exempel
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.')
print('MENY')
print('1. Pizza\n2. Hamburgare\n3. Soppa')
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.')
Varför inte bara använda flera if i rad?
Med elif som ovan kör programmet endast ett kodblock (en print).
Med flera if utförs alla som är sanna och det kan vara flera block.
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.