Skip to end of metadata
Go to start of metadata

Oppgave 1 - Teori om funksjoner

  1. Beskriv med egne ord hva en funksjon er og hvorfor man bruker funksjoner.

    1. Skriv ned syntaksen (hvordan en funksjon ser ut) til en funksjon.
    2. Kan en funksjon være uten innparametre – hvorfor (ikke)?
    3. Kan en funksjon være uten returverdi – hva er isåfall vitsen?
  2. Hva menes med å kalle på en funksjon? Gi et eksempel.

Oppgave 2 - Funksjoner

  1. Lag en funksjon velkommen som skriver ut til skjermen: ”Velkommen til de røde elefanters evighet.”
  2. 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?

Eksempel på kjøring
#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. 

Eksempel på kjøring
#print(absolutt(-4))
4
 
#print(absolutt(5))
5

Oppgave 5 - Minste tall

  • Lag en funksjon minsteTall som tar inn to tall, a og b, og returnerer det minste tallet. Hvis tallene er like har det ikke noe å si om du velger å returnere a eller b så lenge et av dem returneres.
  • Lag en ny funksjon minsteAvTreTall som tar inn tre tall, ab og c, og returnerer det minste tallet.
Eksempel på kjøring
#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.

Eksempel på kjøring
#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.

Eksempel på kjøring
#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

  1. Lag en funksjon som tar inn nedre og øvre grense som argumenter, og returnerer et tilfeldig tall i dette intervallet.
  2. Ta inn den nedre og den øvre grensen fra brukeren, og kall funksjonen med disse som argumenter.
Eksempel på kjøring
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 som \( n! = 1*2*3*...*(n-1)*n. \) For eksempel er 6! = 1*2*3*4*5*6 = 720

Eksempel på kjøring
#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. 

Eksempel på kjøring
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. 

Eksempel på kjøring
#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.

Eksempel på kjøring
#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. 

Eksempel på kjøring
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.

Eksempel på kjøring
>>> 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.

Eksempel på kjøring
#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.

Eksempel på kjøring
32 er det minste tallet som gjør at funksjonen sumAvTall returnerer en verdi over 500

Oppgave 14 - Vårt første lille program


    1. 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.

      1. opprette en liste, testliste, som er [0, 3, 1, 9, 8, 3, 8]
      2. kalle funksjonen storst_tall med testliste som argument
      3. lagre verdien som returneres i en variabel storste
      4. skrive ut storste til skjermen

2.

    1. Lag en funksjon dobbel_tall som tar inn et tall og returnerer det dobbelte av tallet

      1. kall funksjonen du nettopp har lagd, dobbel_tall, med storste som argument
      2. lagre denne verdien som dobbel_storste
      3. skriv dobbel_storste ut til skjermen

 

3.

    1. 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.

      1. kall funksjonen du nettopp har lagd, sirkel_areal, med dobbel_storste som argument
      2. lagre denne verdien som areal
      3. skriv ut areal til skjermen

Gratulerer, du har nå laget et ekte program i python!

Eksempel på kjøring
#1.
#print(storste)
9
 
#2.
#print(dobbel_storste)
18
 
#3.
#print(areal)
1017.8760197630929   #her var radiusen 18

 

 

  • No labels