1.1. Variabler och Utskrift
Programmeringsteknik
Teori | Att kommentera | Att namnge | Övningar |
Innehåll |
Tilldelning
För att hålla reda på data i ett program används variabler. Alla variabler har ett namn för att kunna skilja dem åt. Du kan jämföra med minnet på en miniräknare. Enklare räknare har bara ett minne och behöver därför inte namnge det. Mer avancerade räknare har flera minnen som namnges med t ex ett nummer. Ett datorprogram kan hålla reda på en stor mängd data. När man programmerar kan man lägga in data som t ex längd vikt och ålder i datorns minne med hjälp av variabler. För att tilldela variablerna värden skriver man i Python t ex:
age = 18 length = 180 weight = 80
I vänsterledet (vänster om =) skriver man namnet på den variabel som ska få ett nytt värde och i högerledet (höger om =) värdet som tilldelas. Likhetstecknet kallas i programmeringssammanhang för tilldelning (eller tom tilldelningsoperator). Man kan också skriva variabler i högerledet:
my_cousins_age = age
Då tilldelas my_cousins_age
samma värde som age
har. Alla variabelnamn i Python måste börja med en (engelsk) bokstav (inte åäö), men efter den kan man blanda bokstäver och siffror.
Högerledet kan innehålla uträkningar som behöver utföras innan tilldelningen sker:
a = 3 b = a + 15
Ovanstående två rader ser till att b
får värdet 18.
Ett bra sätt att förstå vad som händer i ett program är att stegvis går igenom det för hand och skriva upp alla variabelvärden. Varje variabel har endast ett värde åt gången och kommer inte ihåg vad för värde den haft tidigare.
Olika slags värden
Det finns olika slags värden man tilldela variabler. Som vi tidigare sett kan man tilldela variabler värden i form av tal, men man kan också tilldela teckenföljder som t ex namn. I datalitteraturen kallas teckenföljderna för strängar (av engelskans string som bland annat betyder sträng och kedja).
namn1 = 'Oskar' namn2 = "Kajsa"
För att skilja på variabelnamn och strängar omsluter man strängar med apostrofer eller citattecken.
namn3 = 'Sima' namn4 = namn3
I exemplet ovan får namn4
värdet 'Sima'. Hade man skrivit apostrofer runt namn3
hade namn4
istället fått värdet 'namn3'.
Uppräkning
Man kan öka värdet på variabler som tidigare har tilldelats ett värde med hjälp av uppräkningsoperatorn +=
. Om variabeln innehåller en siffra räknas värdet upp. Efter följande rader
my_age = 19 my_age += 1får
my_age
värdet 20. Den första raden ger my_age
värdet 19 och den andra raden räknar upp my_age
med 1. När du trycker på pil upp eller ned i telefonnummerlistan på din mobil utför den en upp- eller nedräkning på samma sätt som andra raden.
Man kan åstadkomma samma sak med satserna:
my_age = 19 my_age = my_age + 1
Men så många tecken orkar få programmerare att skriva.
Om variabeln innehåller en sträng läggs den nya strängen till den gamla. Efter satserna:
husdjur = "hund " husdjur += "och katt"
Kommer husdjur
att vara "hund och katt".
Utskrifter
För att skriva ut värden på skärmen använder man funktionen print
. Prova följande pythonprogram i IDLE:
x = 15 print(x) print(1001) print(14)
Genom att använda ett kommatecken så kan man skriva ut flera saker på samma rad. Exempelvis skriver
print("Charles is", 19, "years old")
ut "Charles is 19 years old" på samma rad. Observera att Python automatiskt lägger till ett blanktecken mellan strängarna vid varje kommatecken. Precis samma sak skrivs ut på samma sätt av:
age = 19 print("Charles is", age, "years old")
Vill man att en senare utskrift (t ex en som görs av en print
-sats några rader senare) ska göras på samma rad som den man just skriver ut talar man om för print
-funktionen att det sista tecknet ska vara ett mellanslag:
print("Charles is", end=" ") age = 2006-1987 print(age, "years old")
Ovanstående skriver också ut samma sak som tidigare.
Om man vill kombinera strängar så kan man istället använda sig av ett vanligt plustecken. Här kombineras tre strängar:
age = "19" print("Charles is "+ age + ".")
Utskriften blir då "Charles is 19.".
Är åldern ett tal måste man omvandla det till en sträng om man vill kombinera strängar. Omvandlingen till sträng görs med hjälp av funktionen str.
age = 2012-1987 print("Charles is "+ str(age) + ".")
Detta ger samma utskrift som tidigare.