Oppgave 1 - Teori om funksjoner
- Beskriv med egne ord hva en funksjon er og hvorfor man bruker funksjoner.
- Skriv ned syntaksen (hvordan en funksjon ser ut) til en funksjon.
- Kan en funksjon være uten innparametre – hvorfor (ikke)?
- Kan en funksjon være uten returverdi – hva er isåfall vitsen?
- Hva menes med å kalle på en funksjon? Gi et eksempel.
Oppgave 2 - Funksjoner
- Lag en funksjon
velkommen
som skriver ut til skjermen: ”Velkommen til de røde elefanters evighet.” Lag en funksjon addisjon som tar inn to tall (tall1 og tall2) og returnerer summen av disse.
Eksempel på kjøring#print(addisjon(4, 5.2)) 9.2 >>>
Oppgave 3 - Negative tall
Lag funksjonen erNegativ
som tar inn et heltall og returnerer True
dersom tallet er negativt, og ellers False
.
Bonus: Hva slags datatype(integer/string/float/boolean) returneres fra funksjonen, og hva kan den dermed brukes som?
#print(erNegativ(-3)) True #print(erNegativ(5)) False
Oppgave 4 - Absoluttverdi
Lag en funksjon absolutt
som tar inn et heltall og returnerer absoluttverdien til tallet. Her kan du benytte deg av den innebygde funksjonen abs() hvis det er ønskelig.
#print(absolutt(-4)) 4 #print(absolutt(5)) 5
Oppgave 5 - Minste tall
- Lag en funksjon
minsteTall
som tar inn to tall,a
ogb
, og returnerer det minste tallet. Hvis tallene er like har det ikke noe å si om du velger å returnerea
ellerb
så lenge et av dem returneres. - Lag en ny funksjon
minsteAvTreTall
som tar inn tre tall,a
,b
ogc
, og returnerer det minste tallet.
#print(minsteTall(2,5)) 2 #print(minsteTall(4, 4)) 4 #print(minstAvTreTall(6,1,3)) 1 #print(minstAvTreTall(2,5,2)) 2
Oppgave 6 - Index til minste tall i liste
Lag en funksjon, indeks_minste_element
, som tar inn en liste med heltall og returnerer indeksen (posisjonen i listen) til det minste elementet i denne listen.
#print(indeks_minste_element([1,2,5,3,6,9,0,3,5])) 6 #print(indeks_minste_element([1,0,2,3,4,5,6,0])) 1
Oppgave 7 - Negative tall i tabell
Lag en funksjon negativ_tabell
som tar inn en liste med heltall og returnerer True
hvis ett eller flere av tallene i listen er negative. Ellers skal den returnere False
.
Hint: Her kan du bruke to av funksjonene( erNegativ() og indeks_minste_tall() ) som du allerede har laget for å løse oppgaven.
#print(negativ_tabell([0,1,2,3,4,5,6,2,32])) False #print(negativ_tabell([1,2,1,3,-3,1,4,2])) True #print(negativ_tabell([-1,2,1,-2,2,-3])) True
Oppgave 8 - Tilfeldig tall
- Lag en funksjon som tar inn nedre og øvre grense som argumenter, og returnerer et tilfeldig tall i dette intervallet.
- Ta inn den nedre og den øvre grensen fra brukeren, og kall funksjonen med disse som argumenter.
Skriv inn nedre grense: 1 Skriv inn øvre grense: 19 15 Skriv inn nedre grense: 12 Skriv inn øvre grense: 84 84
Oppgave 9 - Fakultet
Lag en funksjon fakultet
som tar inn et heltall og returnerer fakultetet til tallet. Fakultet av et tall n er definert somFor eksempel er 6! = 1*2*3*4*5*6 = 720
#print(fakultet(6)) 720 #print(fakultet(4)) 24
Oppgave 10 - Den lille multiplikasjonstabellen
Lag en funksjon gangetabell
som fyller ut den lille multiplikasjonstabellen (d.v.s. fra 1- til 10-gangen), og returnerer den.
for linje in gangetabell(): print(linje) #output: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] [2, 4, 6, 8, 10, 12, 14, 16, 18, 20] [3, 6, 9, 12, 15, 18, 21, 24, 27, 30] [4, 8, 12, 16, 20, 24, 28, 32, 36, 40] [5, 10, 15, 20, 25, 30, 35, 40, 45, 50] [6, 12, 18, 24, 30, 36, 42, 48, 54, 60] [7, 14, 21, 28, 35, 42, 49, 56, 63, 70] [8, 16, 24, 32, 40, 48, 56, 64, 72, 80] [9, 18, 27, 36, 45, 54, 63, 72, 81, 90] [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
Oppgave 11 - Funksjonskall i funksjon
a) Lag en funksjon lagVerb
som tar inn en liste av fem verb og tilfeldig returnerer ett av verbene.
#print(lagVerb(['sover','spiser','snakker','sutrer','stresser'])) stresser
b) Lag en funksjon lagNavn
som tar inn en liste bestående av fem navn og tilfeldig returnerer ett av navnene i listen.
#print(lagNavn(['Amalie','Bob Bernt','Carina','Daniel','Elise'])) Bob Bernt
c) Lag en funksjon lagSetning(liste1, liste2)
som benytter seg av a) og b) og returnerer en setning bestående av to ord. Først et navn og deretter et verb. liste1
er en liste bestående av fem navn og liste2
er en liste bestående av fem verb.
liste1 = ['Amalie','Bob Bernt','Carina','Daniel','Elise'] liste2 = ['sover','spiser','snakker','sutrer','stresser'] print(lagSetning(liste1, liste2)) #output: Daniel stresser
Oppgave 12 - Lotto
Lag en funksjon, lotto
, som genererer 7 tilfeldige tall fra 1 til 34 ([1, 34]
) og returnerer disse i en liste.
>>> lotto() [11, 7, 30, 22, 11, 8, 8] >>>
Oppgave 13 - Sum av tall
a) Lag en funksjon sumAvTall
som tar inn et tall n og, returnerer summen av tallene fra 1
til n
ved hjelp av en løkke.
#print(sumAvTall(6)) 21 #print(sumAvTall(3)) 6
b) Hva er den minste n
som gjør at funksjonen sumAvTall
returnerer en verdi større enn 500? Bruk en while-løkke til å kalle funksjonen sumAvTall
med stadig større n
-er, og skriv til slutt svaret på spørsmålet til skjerm.
32 er det minste tallet som gjør at funksjonen sumAvTall returnerer en verdi over 500
Oppgave 14 - Vårt første lille program
- Lag en funksjon
storst_tall
som tar inn en liste og returnerer det største tallet i listen. Du kan anta at alle tallene i listen er heltall. - opprette en liste,
testliste
, som er[0, 3, 1, 9, 8, 3, 8]
- kalle funksjonen
storst_tall
medtestliste
som argument - lagre verdien som returneres i en variabel
storste
- skrive ut
storste
til skjermen
- opprette en liste,
- Lag en funksjon
2.
- Lag en funksjon
dobbel_tall
som tar inn et tall og returnerer det dobbelte av tallet - kall funksjonen du nettopp har lagd,
dobbel_tall
, medstorste
som argument - lagre denne verdien som
dobbel_storste
- skriv
dobbel_storste
ut til skjermen
- kall funksjonen du nettopp har lagd,
- Lag en funksjon
3.
- Lag en funksjon
sirkel_areal
som tar inn et tall (radius) og returnerer arealet av en sirkel på grunnlag av dette. Ved å bruke math.pi kan du få en eksakt verdi for Pi. - kall funksjonen du nettopp har lagd,
sirkel_areal
,dobbel_storste
som argument - lagre denne verdien som
areal
- skriv ut
areal
til skjermen
- kall funksjonen du nettopp har lagd,
- Lag en funksjon
Gratulerer, du har nå laget et ekte program i python!
#1. #print(storste) 9 #2. #print(dobbel_storste) 18 #3. #print(areal) 1017.8760197630929 #her var radiusen 18