1.1. Variabler och Utskrift

Programmeringsteknik

Hoppa till: navigering, sök
       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 += 1
få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.