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.
Code Block language py title 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?
Code Block | ||||
---|---|---|---|---|
| ||||
#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.
Code Block | ||||
---|---|---|---|---|
| ||||
#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.
Code Block | ||||
---|---|---|---|---|
| ||||
#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.
Code Block | ||||
---|---|---|---|---|
| ||||
#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.
Code Block | ||||
---|---|---|---|---|
| ||||
#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.
Code Block | ||||
---|---|---|---|---|
| ||||
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
Code Block | ||||
---|---|---|---|---|
| ||||
#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.
Code Block | ||||
---|---|---|---|---|
| ||||
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.
Code Block | ||||
---|---|---|---|---|
| ||||
#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.
Code Block | ||||
---|---|---|---|---|
| ||||
#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.
Code Block | ||||
---|---|---|---|---|
| ||||
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.
Code Block | ||||
---|---|---|---|---|
| ||||
>>> 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.
Code Block | ||||
---|---|---|---|---|
| ||||
#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.
Code Block | ||||
---|---|---|---|---|
| ||||
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
- Lag en funksjon
Løkker og funksjoner
Oppgave 1 For-løkke
Lag en for-løkke som skriver ut til skjermen ”Bolton Wanderers!” 20 ganger.
Oppgave 2 While-løkke
Lage en while-løkke som genererer et tilfeldig tall mellom 0 og 10. Tallet som genereres skrives ut til skjermen, og while-løkken skal stoppe hvis det tilfeldige tallet blir 7.
Oppgave 3 Funksjoner
- Lag en funksjon
velkommen
som skriver ut til skjermen: ”Velkommen til de røde elefanters evighet.” - Lag en funksjon
sum
som tar inn to tall (tall1
ogtall2
) og returnerer summen av disse. - Hva er hensikten med funksjoner?
Oppgave 4 Vårt første lille program (skript)
1.
- Lag en funksjon ’
- tar inn en liste og returnerer det største tallet i listen. Du kan anta at alle tallene i listen er heltall.
Lag en ny py-fil (en PYTHON skriptfil) og kall den ’kontroll.py’. I denne filen skal du:- opprette en liste,
testliste
, som
- opprette en liste,
er - er
[0, 3, 1, 9, 8, 3, 8]
- kalle funksjonen
- er
’storst_tall
’ med - med
testliste
som argument - lagre verdien som returneres i en
- med
variabel, - variabel
storste
- skrive
- variabel
ut - ut
storste
- ut
til - til skjermen
storst_tall
’ som testliste
som parameter’kontroll.py’ skal brukes videre.
2.
- Lag en funksjon ’
dobbel_tall
’ som som tar inn et tall og returnerer det dobbelte av talletI ’kontroll.py’: - kall funksjonen du nettopp har lagd,
dobbel_tall
medstorste
som input, medstorste
som argument - lagre denne verdien som som
dobbel_storste
- skriv skriv
dobbel_storste
ut ut til skjermen
- kall funksjonen du nettopp har lagd,
- Lag en funksjon ’
’kontroll.py’ skal brukes videre.
3.
- 1. Lag en funksjon ’
sirkel_areal
’ som som tar inn et tall (radius) og returnerer arealet av en sirkel på grunnlag av dette. Pi skal bruke en konstant innebygd i python (google er din venn).Ved å bruke math.pi kan du få en eksakt verdi for Pi.
2. I ’kontroll.py’:- a. kall funksjonen du nettopp har lagd, ’
sirkel_areal
’ med ,dobbel_storste
som input som argument - b. lagre denne verdien som som
areal
- c. skriv ut ut
areal
til til skjermen
- a. kall funksjonen du nettopp har lagd, ’
- 1. Lag en funksjon ’
Gratulerer, du har nå laget et ekte program i python!
d) Hva blir arealet til en sirkel hvis vi endrer tabellen i a) til [1 2]
?
Oppgave 5 Funksjonskall inne i funksjoner
I forrige oppgave lagde du flere funksjoner som ble kalt i et skript. I denne oppgaven skal du lage to nye funksjoner, men den ene funksjonen skal kalles inne i den andre funksjonen.
Det første du skal gjøre er å lage en funksjon som beregner kvadratet av et tall. Når du har gjort dette skal du lage en ny funksjon som beregner arealet av en sirkel, men denne gangen skal du benytte deg av kvadrat-funksjonen du nettopp lagde. Til slutt skal du lage et skript oppgave5.py. Skripet skal ta inn ønsket radius fra brukeren. Benytt deg av funksjonene du nettopp lagde for å beregne arealet av sirkelen. Skriv ut verdien på skjermen.
Code Block | ||||
---|---|---|---|---|
| ||||
#1.
#print(storste)
9
#2.
#print(dobbel_storste)
18
#3.
#print(areal)
1017.8760197630929 #her var radiusen 18 |
Oppgave 6 Tilfeldig tall
Lag en funksjon som tar inn nedre og øvre grense i et intervall fra brukeren, og returnerer et tilfeldig tall i dette intervallet.