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.
Variabler och datatyper
I det här avsnittet kommer du att lära dig
Vad en variabel är och hur du skapar en
Om olika datatyper och konverteringar mellan dem
Variabler - att spara data
En variabel är till för att spara data och används överallt inom programmering.
Ofta sparas strängar eller tal, men det kan också vara andra mer komplicerade datastrukturer och objekt.
En variabel är till för att komma ihåg någonting under tiden programmet körs, till exempel ett resultat av en beräkning så att detta sedan kan återanvändas på andra ställen i programmet.
Det är också vanligt att använda variabler för att spara inmatningar från användaren eller data som har lästs från en fil.
Variabler används överallt inom programmering.
Namnet variabel kommer av att programmet kan ändra (variera) innehållet i en variabel under programmets körning.
Det som läggs i en variabel sparas i datorns arbetsminne och försvinner när programmet inte längre kör.
För att skapa en variabel används = (likhetstecken), till vänster om likhetstecknet står variabelnamnet och till höger om likhetstecknet står värdet som ska sparas i variablen.
Viktigt här är att förstå skillnaden mellan = inom matematiken (är lika med) och i Python (tilldela värde till variabel).
Det går bra att använda print(min_variabel) för att skriva ut innehållet i variabeln.
Exempel
Strängen Hello World sparas i variabeln med namnet min_variabel.
min_variabel = 'Hello World'
min_variabel = 'Hello World'
print(min_variabel)
Det är viktigt att skriva bra variabelnamn. Namnet ska beskriva informationen som är sparad i variablen.
Med bra variabelnamn är programmet enklare att förstå och det blir lättare att göra rätt. Det tar lång tid att lära sig skriva bra variabelnamn så misströsta inte om du tycker det är svårt!
I Python är konventionen att skriva variabler med små bokstäver och med _ för att separera ord.
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?
FörstaAndra
Första Andra
Datatyper
Datorer måste skilja på olika typer av variabler, som till exempel strängar (text) och tal. Det beror på att de sparas på olika sätt i datorns minne.
Exempelvis representeras talet 1 och strängen '1' på olika sätt i minnet.
Vi har redan använt tre vanliga variabeltyper, strängar (eng: string), heltal (eng: integer) och flyttal (eng: float).
Flyttal (uttalas flyt-tal) är det vanligaste sättet för en dator att representera tal som har decimalkomma.
När du skapar en variabel räknar Python ut vilken typ variabeln är. I många programmeringsspråk måste du istället berätta vilken typ en variabel är när du skapar den och sedan går det inte att ändra
vilken typ variabeln är. I Python går det till exempel att först spara en sträng i en variabel för att senare spara ett tal i samma variabel.
Den inbyggda funktionen type kan användas för att se vilken typ en variabel har, se exemplet nedan.
Exempel
Först skapas tre olika variabler med typerna sträng, heltal och flyttal. Sedan skapas ytterligare tre variabler som innehåller vilken typ de första tre variablerna har.
Hjälpfunktionerna str, int och float finns till för att konvertera de tre typerna ovan mellan varandra. Till exempel används int för att omvandla en variabel till typen heltal.
Observera att det inte alltid fungerar, till exempel går inte strängen 'hej' att konvertera till varken ett heltal eller ett flyttal.
Exempel
Några vanliga typkonverteringar.
heltal = int('42') #strängen 42 blir heltalet 42
flyttal = float(10) #heltalet 10 blir flyttalet 10.0
text = str(3.14) #flyttalet 3.14 blir strängen 3.14
Koden nedan innehåller ett fel. Kör programmet och se vad felmeddelandet blir. Fixa sedan koden och kör programmet igen.
-- Programmets utskrifter --
Den inbyggda funktionen print kan ta emot olika typer i sitt argument (det som står innanför parenteserna på en funktion kallas argument).
Print-funktionen konverterar automatiskt argumentet till en sträng. Om du skriver exempelvis print(5) så konverteras automatiskt talet 5 till en sträng.
Avrundning
Om ett flyttal konverteras till ett heltal med hjälp av int tas helt enkelt decimalerna bort.
Exempel
Flyttal till heltal med int.
x = int(3.99) #x = 3
x = int(3.99)
print(x)
Med den inbyggda funktionen round kan vi istället avrunda ett flyttal till ett heltal.
Exempel
Flyttal till heltal med round.
x = round(3.99) #x = 4
x = round(3.99)
print(x)
Med hjälp av round går det också bra att avrunda till ett valfritt antal decimaler. Inuti parentesen skriver vi först talet som ska avrundas, följt av ett komma, och sedan hur många decimaler vi vill avrunda till.
Exempel
Avrunda till två och fyra decimaler.
x = round(1.23456, 2) #x = 1.23
y = round(1.23456, 4) #y = 1.2346
x = round(1.23456, 2)
y = round(1.23456, 4)
print(x)
print(y)