Lister
Vi har fire tal: 10, 12, 13 og 15. Desse kan til dømes vere -verdiar til ein funksjon. I eit pythonprogram kan vi lagre desse tala i kvar sin variabel og kalle variablane x1, x2, x3 og x4.
Spørsmål – koding
Kva må vi skrive av programkode for å lagre desse -verdiane i kvar sin variabel og skrive dei ut?
I staden for å lagre tala i kvar sin variabel, kan vi putte tala inn i ei liste som vi kallar x. Då skriv vi
x = [10, 12, 13, 15]
x blir ein listevariabel som inneheld 4 element: dei 4 tala 10, 12, 13 og 15. Det er viktig at det blir brukt hakeparentesar [ ] rundt innhaldet av lista. For å skrive ut verdien av listevariabelen, skriv vi
print(x)
som vi ville ha gjort dersom vi til dømes skulle skrive ut innhaldet i ein heiltalsvariabel. Køyrer vi dei to kodelinjene over, vil vi få utskrifta "[10, 12, 13, 15]", altså det same som vi skreiv at listevariabelen x skulle vere.
Indeksering av lister
Tala i lista over har eit plassnummer, eller ein indeks, som byrjar på 0. Det betyr at talet 10 har indeksen 0, talet 12 har indeksen 1, og talet 15 har indeksen 3. Dersom vi vil skrive ut det andre talet, 12, skriv vi
print(x[1])
sidan talet 12 har indeks 1.
Oppgåve – koding
Skriv koden som legg saman dei to første tala i tabellen.
Dersom vi vil lage ei ny liste y med dei tre siste tala i lista (men ikkje det første), skriv vi
y = x[1: 4]
Listevariabelen y får verdien [12, 13, 15]. Merk at vi får tala frå og med indeks 1 til indeks 4, altså til og med indeks 3, éin mindre enn det talet som står etter kolonet.
Oppgåve – koding
Vi har definert lista y slik:
y = ["a", "b", "c", "d", "e", "f", "g", "h", "i"]
Skriv koden som lagar ei ny liste z med det tredje, det fjerde og det femte elementet i lista.
Leggje til fleire element i ei liste
Dersom vi ønskjer å leggje til talet 20 i lista x over, bruker vi funksjonen, eller meir presist metoden, append().
x.append(20)
Talet 20 legg seg bakerst og får indeksen 4 sidan lista no har 5 tal.
Talet på element i ei liste
Vi kan hente ut talet på element i ei liste med funksjonen len(). Dersom vi vil skrive ut kor mange element det er i listevariabelen x, skriv vi
print(len(x))
Ein tekststreng er rett og slett ei liste der elementa er éin og éin bokstav (eitt og eitt teikn). Vi bruker
strengvariabel = "Tekststreng"
som eksempel. Det betyr at vi går ut ifrå at vi har definert ein variabel strengvariabel og sett han lik "Tekststreng".
Vi kan ikkje leggje til bokstavar og teikn med metoden append() slik som for lister. Dersom vi ønskjer å leggje "en" til "Tekststreng" i variabelen over, skriv vi
strengvariabel = strengvariabel + "en"
Innhaldet i variabelen blir no "Tekststrengen".
Spørsmål – koding
a) Kva trur du strengvariabel[0] er det same som? Kva med strengvariabel[3]?
b) Kva trur du len(strengvariabel) er det same som?
a) Algoritme
Vi ønskjer å finne gjennomsnittet av dei fire tala 10, 12, 13 og 15. Skriv algoritmen til eit slikt program. (Hugs å få med forklarande tekst.)
b) Koding
Bruk kode i samband med lister til å skrive koden til algoritmen i oppgåve a). Legg dei fire tala i ei liste med namnet x.
c) Algoritme
Måten vi har rekna ut gjennomsnittet på i oppgåva over er tungvint. Tenk om det var 100 tal vi skulle finne gjennomsnittet av!
Summeringa av tala kan gjerast med ei for-lykkje. Vi lagar ein variabel sum og lèt for-lykkja gå gjennom tala i lista og leggje dei til sum. Skriv om på algoritmen i a) slik at dette blir mogleg.
d) Koding
Skriv koden til eit program som passar til algoritmen over. Bruk for-lykkje til summeringa av tala i lista.
e) Algoritme
Vi ønskjer at brukaren av programmet over kan skrive inn fire fritt valde tal og få rekna ut gjennomsnittet av tala. Skriv algoritmen til eit slikt program.
f) Koding
Skriv koden til eit program som passar til algoritmen over. Unngå å bruke variablar som ikkje er lister.
Relatert innhald
Her får du øvingsoppgåver med lister og strengvariablar.