Variabler fungerar som ”lagringsplatser” för data i ett program. De är ett sätt att namnge information för senare användning. Varje variabel har ett namn; ett exempel på ett variabelnamn som vi kommer att använda är myLuckyNumber
. För att lagra information i en variabel skriver vi ett kommando med ett likhetstecken på följande sätt:
"the variable name" = "the value you want to store"
(Vi använder ”dubbla vinkelparenteser” i våra lektioner, som ovan, för att ange speciella delar av uttryck). Exempelvis lagrar Python-linjen
myLuckyNumber = 13
värdet 13
i variabeln myLuckyNumber
. Varhelst du sedan skriver variabelnamnet myLuckyNumber
igen hämtar Python det lagrade värdet. Nedan finns ett kort exempel på användning av variabler. Det har mer än en rad instruktioner: Python utför den första raden, sedan den andra raden och så vidare tills den når den sista raden. Tryck på knappen Kör program för att se vad det gör. Titta på de fem raderna i programmet i tur och ordning och hur de motsvarar utgången. Som du kan se behåller
sitt värde myLuckyNumber
13
under de två första print
-anvisningarna, därefter ändras värdet till 7
. Vi introducerade också plusoperatorn (+
) ovan, som adderar två tal tillsammans. På samma sätt finns det operatörer för subtraktion (-
), multiplikation (*
) och division (/
). Vi återkommer till dessa i en senare lektion. Du kan simulera en dators minneslagring med papper och penna genom att hålla reda på värdena i en tabell. Här är ett exempel; kom ihåg att *
betyder multiplikation i Python.
first = 2second = 3third = first * secondsecond = third - firstfirst = first + second + thirdthird = second * first
Idé: Vi använder en tabell för att hålla reda på värdena när de ändras. Scrolla till botten för att se det slutliga svaret.
Statement | Värden efter att statementet utförts | |||
---|---|---|---|---|
Första | andra | Tredje | Tredje |
Första. = 2 | 2 | |||
andra = 3 | 2 | 3 | ||
tredje = första * andra | 2 | 3 | 6 | |
andra = tredje – första | 2 | 3 4 | 6 | |
första = första + andra + tredje | 2 12 | 4 | 6 | 6 |
tredje = andra * första | 12 | 4 | 6 48 |
Så i slutet av programmet, är värdet av first
12
, värdet av second
4
och värdet av third
48
.
Att rita en sådan här tabell med penna och papper är alltid en bra idé och till hjälp när man ska förstå eller rätta kod. Vi har också ett automatiserat Python3-visualiseringsverktyg för att virtuellt utföra program som detta ett steg i taget (se även länken i toppmenyn). Så här ser det ut när vi kör samma program i visualiseringsverktyget. Använd knappen Framåt > eller tryck på piltangenten på tangentbordet för att ta ett steg framåt (eller bakåt). Lägg märke till hur variablerna ändras när varje rad exekveras. Här är en kort svarsövning om variabler.
x
Markerar platsen Vad är värdet på x
efter att dessa kommandon har utförts?
x = 10
x = x + x
x = x - 5
Ditt svar (ange en siffra):
Två vanliga fel
Om du frågar Python om en variabel som inte har definierats får du ett fel.
Som du kan se får vi ett felmeddelande som säger NameError: name 'trouble' is not defined
. Ibland kan man få sådana här fel på grund av enkla skrivfel: om du definierar en variabel address=32
och sedan försöker print(adress)
uppstår samma typ av fel. Ett annat fel har att göra med att man av misstag byter sida i ett =
-meddelande. Den första raden är bra men den andra raden orsakar ett fel: Python tror att den andra raden 4 = x
försöker ändra värdet på 4
, men det är bara tillåtet att ändra värdet på variabler, och 4
är inte en variabel. Medan A = B
och B = A
är samma sak i matematik är de olika i programmering.
Övning
Detta är en uppvärmning för att komma igång med variabler.
Code Scramble
Nästa punkt i den här lektionen är en ny typ av programmeringsövning, där du inte behöver göra någon programmering. Vi kommer att ge dig ett korrekt program, men haken är att dess rader har satts i en förvrängd ordning. Din uppgift är att dra och släppa raderna för att ordna om dem till ett korrekt program.
Utbytesprogram
Här är den sista övningen i den här lektionen.
När du har klarat den här övningen korrekt är du redo att gå vidare till nästa lektion. Klicka på knappen Nästa nedan.