Forrige oppgave


9 a) Fokus i oppgaven: Lister

Lister brukes for å lagre flere objekter i én enkelt variabel. For eksempel kan vi lagre en liste med sørlandsbyer på denne måten:

sorlandsbyer = ["Lillesand", "Kristiansand", "Arendal", "Tvedestrand", "Mandal"]

Åpenbart mangler Grimstad i lista over sørlandsbyer. Lag en ny python-fil og legg inn listen med sørlandsbyer. Lister har en tilhørende funksjon som heter append(). Undersøk hvordan denne funksjonen fungerer og bruk den til å få Grimstad med i lista med sørlandsbyer. Bruk print-funksjonen for å sjekke om lista er komplett.

Løsningsforslag

sorlandsbyer = ["Lillesand", "Kristiansand", "Arendal", "Tvedestrand", "Mandal"]
sorlandsbyer.append("Grimstad")

print(sorlandsbyer)
>>> sorlandsbyer = ["Lillesand", "Kristiansand", "Arendal", "Tvedestrand", "Mandal", "Grimstad"]


Lister er ordnet i den rekkefølgen elementene er lagt til. For eksempel er “Lillesand” det 0’te elementet i lista sorlandsbyer (i Python teller vi fra 0). Arendal blir dermed element nummer 2. For å få tilgang på elementer i en liste, bruker vi følgende syntaks:

sorlandsbyer = ["Lillesand", "Kristiansand", "Arendal", "Tvedestrand", "Mandal"]
print(sorlandsbyer[0])
>>> Lillesand
print(sorlandsbyer[2])
>>> Arendal

Vi kan også telle baklengs i lister for å få tak i elementer. Da bruker vi negativ indeks der -1 er det siste elementet i lista. For eksempel er “Tvedestrand” det nest siste elementet og vi kan få tak i Tvedestrand ved hjelp av indeksen -2:

sorlandsbyer = ["Lillesand", "Kristiansand", "Arendal", "Tvedestrand", "Mandal"]
print(sorlandsbyer[-2])
>>> Tvedestrand

Oppgave 9 b) Fokus i oppgaven: elementer i lister

liste = [5, 13, 7, 14, 8, 19, 17, 3, 3, 6, 13, 7, 19, 8, 6, 1, 15, 12, 13, 15]

i) Lag en python-fil med lista over og lag en funksjon som printer “15 er med i lista” hvis 15 er i lista og “15 er ikke med i lista” ellers.

Hint: Her er det mulig å kombinere while og len() fra tidligere oppgaver. En annen, enklere, løsning er å bruke en for-løkke.


ii) Utvid funksjonen slik at funksjonen tar inn et vilkårlig tall ‘n’. Print en tilsvarende melding som i oppgave i).

Forventet resultat

liste = [5, 13, 7, 14, 8, 19, 17, 3, 3, 6, 13, 7, 19, 8, 6, 1, 15, 12, 13, 15]

er_med_i_liste(4)
>>> 4 er ikke med i lista
er_med_i_liste(14)
>>> 14 er med i lista.


iii) Utvid funksjonen slik at den i tillegg printer hvor i lista elementet er.

Forventet resultat

liste = [5, 13, 7, 14, 8, 19, 17, 3, 3, 6, 13, 7, 19, 8, 6, 1, 15, 12, 13, 15]

er_med_i_liste(4)
>>> 4 er ikke med i lista
er_med_i_liste(14)
>>> 14 er med i lista. Du finner den  plass nummer 3.
er_med_i_liste(3)
>>> 3 er med i lista. Du finner den  plass nummer 7 og 8.


Oppgave 9 c)

Lag en funksjon som tar inn en vilkårlig liste med tall og printer gjennomsnittet.

Forventet resultat

liste1 = [5, 13, 7, 14, 8, 19, 17, 3, 3, 6, 13, 7, 19, 8, 6, 1, 15, 12, 13, 15]
gjennomsnitt(liste1)
>>> Gjennomsnittet er 10.2.

liste2 = [-9, 10, 1, 14, 6, 6, -10, 3, -5, 20, -6, -8, 8, 7, 13, 14, -4, 7, 16, 0, -3]
gjennomsnitt(liste2)
>>> Gjennomsnittet er 3.8095238095238093.

liste3 = [90, 58, 34, 17, 30, 61, 42, 21, 14, -8, 41, 14, 89, 77, 70, 78, 59, 92, 4, 73, 64, 78, 59, 90, 61, -4, -9, 36]
gjennomsnitt(liste3)
>>> Gjennomsnittet er 47.535714285714285.


Neste oppgave