{{ toc.name }}
{{ toc.signature }}
{{ toc.name }} {{ 'ml-btn-view-details' | message }}
{{ stepNode.name }}
{{ 'ml-toc-proceed' | message }}
Lektion
Övningar
Rekommenderade
Tester
Ett fel uppstod, försök igen senare!
Kapitel {{ article.chapter.number }}
{{ article.number }}. 

{{ article.displayTitle }}

{{ article.intro.summary }}
{{ 'ml-btn-show-less' | message }} {{ 'ml-btn-show-more' | message }} expand_more
{{ 'ml-heading-abilities-covered' | message }}
{{ ability.description }} {{ ability.displayTitle }}

{{ 'ml-heading-lesson-settings' | message }}

{{ 'ml-lesson-show-solutions' | message }}
{{ 'ml-lesson-show-hints' | message }}
{{ 'ml-lesson-number-slides' | message : article.intro.bblockCount}}
{{ 'ml-lesson-number-exercises' | message : article.intro.exerciseCount}}
{{ 'ml-lesson-time-estimation' | message }}

Inom programmering använder man variabler hela tiden. Dessa fungerar dock lite annorlunda jämfört med variabler inom matematiken, där de representerar värden man inte känner till eller värden som är godtyckliga. På den här sidan kommer du att lära dig om dessa skillnader och hur variabler kan användas inom programmering.

x = 13
y = x + 7
print(x, y)
x = 23
print(x, y)
Vad tror du kommer att hända när man kör det här kodexemplet? Testa koden och se om du hade rätt. Ändra sedan på exemplet och experimentera för att förstå hur variablerna beter sig. Spelar det t.ex. någon roll på vilken sida om likhetstecknet man anger variabeln? Vilka rader ändrar värdet i variabeln y?

Teori

Variabler i programmering

Inom programmering används variabler för att lagra olika sorters värden. Ofta är det fråga om heltal eller decimaltal, men det kan t.ex. också vara text. Man skapar en variabel genom att välja ett namn och skriva det följt av ett likhetstecken och sedan det man vill lagra i variabeln. Man kan t.ex. skriva

x = 10

för att lagra värdet i variabeln x. Man kan se det som att programmet skapar en låda märkt x som det sedan lägger värdet i.

Variabler i programmering 1 p.svg

Variabelnamn kan bestå av bokstäver, siffror och understreck (_) men de får inte börja med en siffra. I de flesta programmeringsmiljöer går det att använda å, ä och ö i variabelnamn men man brukar undvika att göra det eftersom det inte är garanterat att det fungerar.

en_variabel = 33.012
print(en_variabel)
variabel_2 = 74
print(variabel_2)
  • Visa resultat
>
33.012
74

Till skillnad från variabler inom matematiken är innehållet i programmeringsvariabler varken obekant eller godtyckligt, utan programmet håller hela tiden reda på vad som finns lagrat i dem. Det är dock möjligt att innehållet skrivs över med något annat allt eftersom programmet stegar sig igenom koden.

x = 10
print(x)
x = 20
print(x)
  • Visa resultat
>
10
20

När man lagrar ett värde i en variabel säger man att variabeln tilldelas ett värde. Variabelnamnet skrivs alltid innan likhetstecknet och det som kommer efter är vad som sparas i variabeln. Om det är ett uttryck kommer det beräknas och sedan lagras, så om man skriver

x = 3*7 + 8

kommer programmet att räkna ut och lagra värdet i variabeln x. Det som står till höger om likhetstecknet kan även innehålla andra variabler, t.ex.

y = x + 6.

Om man redan har sparat värdet i x kommer detta att sättas in i uttrycket och programmet gör beräkningen för att sedan spara i variabeln y. Det går till och med att använda den variabel som får tilldelningen i uttrycket till höger om likhetstecknet.

y = y + 1.

I matematiken skulle det här vara en ekvation, men i ett program tolkas det på ett annat sätt. Här läser programmet först av vad som finns lagrat i y och sätter in det i högerledet, vilket ger uträkningen Programmet skriver sedan över y med detta nya värde.

x = 3*7 + 8
print(x)
y = x + 6
print(y)
y = y + 1
print(y)
  • Visa resultat
>
29
35
36

Exempel

Vad lagras i variablerna?

fullscreen

Vad kommer att finnas i variablerna a och b efter att man har kört följande kod?

a = 25
b = 4*a
a = 4*b
b = b - 10
Visa Lösning expand_more

Vi börjar på rad där vi ser att variabeln a tilldelas värdet Man kan tänka sig variabeln som en låda, och nu ligger talet i lådan.

Vad lagras i variablerna 1.svg

På rad skapas variabeln b och tilldelas resultatet av beräkningen till höger om likhetstecknet, alltså 4*a. Just nu ligger värdet i a, så beräkningen blir Nu har alltså en ny låda skapats med talet i.

Vad lagras i variablerna 2ii.svg

På rad skapas ingen ny variabel, istället ändras värdet på a. Till höger om likhetstecknet står 4*b, och med värdet i b blir beräkningen Vi ska alltså skriva över innehållet i a med

Vad lagras i variablerna 3.svg

I matematik är en motsägelse, men i Python innebär det att värdet b-10 ska lagras i variabeln b. Just nu ligger i b, så beräkningen blir Variabeln ska alltså tilldelas värdet vilket skriver över det gamla.

Vad lagras i variablerna 4.svg

Detta är alltså vad som finns lagrat i variablerna efter att koden har körts.

Teori

Datatyp

En datatyp är en viss sorts information, t.ex. heltal eller strängar, som ett programmeringsspråk handskas med. Dessa kan inte kombineras hur som helst man kan t.ex. inte addera ett tal och en text. Vissa operatorer, som t.ex. +, fungerar olika beroende på vilken datatyp man använder dem på. Det är framför allt fem datatyper man bör känna till.

  • Heltal (integer, int)
    Detta är en datatyp för heltal, t.ex. 4 och -55.
  • Flyttal (float)
    Denna datatyp används för decimaltal, t.ex. -8.7 och 3.0.
  • Sträng (string, str)
    Strängar används för vanlig läsbar text, t.ex. 'Jag är 17 år gammal.'. Strängar skrivs inom apostrofer.
  • Bool (boolean)
    Det finns bara två möjliga värden för datatypen bool: sant och falskt, vilket i Python skrivs True respektive False.
  • Lista (list)
    Listor används för samlingar av värden, t.ex. [2, 4, 8, 16] eller [5, 'text', 3.14]. Listor skrivs inom hakparenteser.

Teori

Lista

Listor är en datatyp i Python som kan innehålla flera värden eller variabler. Man skapar dem genom att sätta hakparenteser runt en följd av värden, separerade med komman.

x = [1, 2, 3, 4, 5]
print(x)
  • Visa resultat
>
[1, 2, 3, 4, 5]

Värdena i listor måste inte ha samma datatyp utan man kan blanda hur man vill.

x = [1, 'två', 3.0, 4, 'fem']
print(x)
  • Visa resultat
>
[1, 'två', 3.0, 4, 'fem']

För att komma åt ett visst element i en lista sätter man en hakparentes efter variabelnamnet och skriver numret för det element man vill ha. I Python har man valt att indexeringen ska börja på inte så om man exempelvis vill få tag i det tredje elementet skriver man x[2].

x = [1, 'två', 3.0, 4, 'fem']
print(x[2])
  • Visa resultat
>
3.0

Om man vill lägga till ett värde i en lista som redan finns går det att göra med hjälp av kommandot append(). Man använder det genom att skriva namnet på listan följt av en punkt och append(), där man skriver in det värde man vill lägga till inom parentesen. Då hamnar värdet sist i listan.

x = [1, 2, 3, 4, 5]
x.append(10)
print(x)
  • Visa resultat
>
[1, 2, 3, 4, 5, 10]

Exempel

Använd variabler

fullscreen


Ylva ska beräkna värdet av ett polynom för några -värden. Hon börjar med och skriver ett program för beräkningen.

print(18*3**4 - 57*3**3 + 12*3**2 + 100*3 - 560)
  • Visa resultat
>
-233

Hon vill nu göra samma sak för -värdena och vilket blir många småändringar i programmet. Hjälp Ylva göra sitt program lättare att anpassa till nya beräkningar med hjälp av variabler.

Visa Lösning expand_more
I programmet har Ylva satt in på flera ställen. Byter vi tillbaka dessa mot hittar vi polynomet:
Dessa kan även användas i koden. En skillnad mellan variabler i programmering och i matematiska uttryck är att Python måste veta vad som ligger i variabeln. Vi behöver därför en rad till där x tilldelas ett värde.
x = 3
print(18*x**4 - 57*x**3 + 12*x**2 + 100*x - 560)
  • Visa resultat
>
-233

Programmet gör precis samma sak som tidigare, men den här versionen är lättare att återanvända. Nu behöver Ylva bara ändra till x=4 och köra programmet igen för att beräkna nästa värde, istället för att ändra 3 till 4 på fyra ställen. Det är dessutom mer lättläst!

x = 4
print(18*x**4 - 57*x**3 + 12*x**2 + 100*x - 560)
  • Visa resultat
>
992

Teori

Kommentar

Inom programmering är en kommentar ett textstycke i koden som inte tolkas av programmet. Syftet kan vara att förklara vad koden gör eller att tillfälligt dölja en kodrad som man kanske vill använda senare. I Python skapas en kommentar med tecknet #. Alla efterföljande tecken på samma rad som # ignoreras av programmet.

#Programmet tar ett tal x och skriver ut talet y,
#som är 5 större. x = 2 # Här sätts startvärdet
y = x + 5 # Raden nedan är bortkommenterad och därför skrivs y inte över
# y = -2 print(y)
  • Visa resultat
>
7