Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Oppgave 1 - Teori om funksjoner

  1. En funksjon er en måte å lage en kodesnutt som skal brukes flere steder. Om noe skal endres trenger man bare å endre det et sted, koden blir også mer oversiktelig siden man bare trenger å bruke en linje med kode for å benytte seg av funksjonen. Funksjoner kan også testes uavhengig av de ferdige programmet, om programmet ditt ikke fungerer trenger du altså ikke være redd for at feilen befinner seg i funksjonen, siden denne har blitt testet på forhånd.

    1. def function_name(argument1,argument2):
    2. Ja, om du vil ha en funksjon som alltid skriver 'hei', så trenger ikke denne funksjonen ta inn noen parametere.
    3. Ja, om du vil ha en funksjon som alltid skriver 'hei', så trenger ikke denne funksjonen gi tilbake noen parametere.
  2. Kalle på en funksjon vil si at man skal kjøre funksjonen, dette gjøres ved : a,b = function_name(arg1,arg2)

Oppgave 2 - Funksjoner

Code Block
languagepython
# 1
def velkommen():
    print("Velkommen til de røde elefanters evighet.")
# 2
def addisjon(tall1, tall2):
    return tall1 + tall2

3. Hensikten med funksjoner er at de kan gjenbrukes i programmet, for ulike parameterverdier.

Oppgave 3 - Negative tall

Code Block
languagepython
#Alternativ 1
def erNegativ(tall):
    if tall < 0:
        return true
    else:
        return false
 
#Alternativ 2
def erNegativ(tall):
    return tall < 0;

Oppgave

...

4 - Absoluttverdi

Code Block
languagepython
#Alternativ 1
def absolutt(tall):
    if tall < 0:
        return tall * -1
    else:
        return tall
         
#Alternativ 2
from math import abs
def absolutt(tall):
    return abs(tall)

Oppgave

...

5 - Minste tall

Code Block
languagepython
def minsteTall(numberLista,b):
    if a #Definerer< detb:
 første elementet som det minste til å beynngereturn meda
    minNumberelif b = numberList[0]< a:
    minIndex = 0
    return b
    else:
      for index, number in enumerate(numberListreturn a;
def minsteAvTreTall(a,b,c):
    if a < b ifand numbera < minNumberc:
        return a
   minNumber elif =b number
< a and b < c:
       minIndex =return indexb
    returnelif minIndexc 
< a and  

Oppgave 5

Code Block
languagepython
def negativTabell(numberList):
c < b:
        return forc
  number in numberListelse:
        if numbera <== 0b:
            return truea
    return false

Oppgave 6

Code Block
languagepython
 #iterativ
def faculty(number)    elif a == c:
            return a
        ifelif numberb == 0c:
            return 1;b
    
    #Om vi facultykommer ned =hit 1
betyr det at alle 
tallene er like
  for i in range(1, number + 1)else:
        faculty *= i;
    return faculty
#rekursiv
def facultyRec(number    return a
#En bedre løsning som benytter en liste
def minsteAvTreTallList(a,b,c):
    if number == 0:
liste = [a,b,c]
    minste = a
    for tall in liste:
        if return 1
tall < minste:
          
  minste = returntall
 number * facultyRec(number -return 1);minste

Oppgave

...

6 - Minste tall i liste

Code Block
languagepython
import random
#Ringdal-løsningen
def lottoindeks_minste_element(numberList):
    return [random.randint(1,34) for i in range(7)] 
    
def lotto2():
    liste = [#Definerer det første elementet som det minste til å beynnge med
    minNumber = numberList[0]
    forminIndex i in range(7):= 0
    for x in  liste.append(random.randint(1,34range(len(numberList)):
    return liste

Oppgave 1

Code Block
languagepython
 def minsteTall(a,b):
    if anumberList[x] < bminNumber:
        return a
   minNumber elif b < a:
= numberList[x]
          return b
 minIndex =  else:
    index
    return a;
def minsteAvTreTall(a,b,cminIndex

Oppgave 7 - Negative tall i tabell

Code Block
languagepy
def negativ_tabell(numberList):
    iffor anumber < b && a < cin numberList:
        returnif a
number < 0:
  elif b < a && b < c:
   return true
    return b
false
 
#Alternativt
def negativ_tabell(liste):
    tallIndex = index_minste_element(liste)
    tall = liste[tallIndex]
    return erNegativ(tall)
 
#Alternativt til den rett over, men på én linje
def negativ_tabell2(liste):
    return erNegativ(liste[minsteTall(liste)])
 


Oppgave 8 - Tilfeldig tall

Code Block
languagepython
from random import randint
nedre_grense = int(input("Skriv inn nedre grense: "))
ovre_grense = int(input("Skriv inn øvre grense: "))
def tilfeldig_tall(n_grense,o_grense):
    return randint(n_grense,o_grense)
print(tilfeldig_tall(nedre_grense, ovre_grense))

Oppgave 9 - Fakultet

Code Block
languagepython
#iterativ
def faculty(number):
    if number == 0elif c < a && c < b:
        return c
    else:
        if a == b:
            return a
        elif a == c:
        return 1
    faculty return= a1
    for i in range(1, elifnumber b == c+ 1):
        faculty *= i
    return bfaculty
#rekursiv
def facultyRec(number):
    if number == #Om0:
 vi kommer ned hit betyr det at allereturn tallene1
 er like
  return number * facultyRec(number -  else1)

Oppgave 10 - Den lille multiplikasjonstabellen

Code Block
languagepython
def gangetabell():
    # tom liste vi legger til radene i
  return a
#En bedre løsning som benytter en liste
def minsteAvTreTallList(a,b,c  ans = [] 
    for i in range(1, 11):
    liste    temp = [a,b,c]
 # midlertidig liste 
som vi bruker  minste = a;til mellomlagring
    
    for tallj in listerange(1, 11):
         if tall < minste: temp.append(i*j)
        ans.append(temp)
    minstereturn = tallans
for linje in  gangetabell():
    return minsteprint(linje)

Oppgave

...

11 - Funksjonskall i funksjon

Code Block
languagepython
from random import randint
def lagVerb(liste):
    verb = ['går','spiser','tuller','hopper','leker']
    #henter ut et tilfeldig verb fra listen
	tall = randint(0,4)
    return verb[randint(0,len(verb)-1)liste[tall]
 
def lagNavn(liste):
    navn = ['Martin','Lise','Bob','Max','Balle']
    #henter ut et tilfeldig navn fra listen
    return navn[	tall = randint(0,len(navn)-1)]
def lagAdverb():
4)
    return adverb = ['fort','sakte','rart','teit','glimrende']
    #henter ut et tilfeldig adverb fra listen
    return adverb[randint(0,len(adverb)-1)]
def lagSetningliste[tall]

def lagSetning(liste1, liste2):
    return lagNavn(liste1) + ' ' + lagVerb(liste2)

Oppgave 12 - Lotto

Code Block
languagepython
import random
def lotto():
    return lagNavn([random.randint(1,34) +for 'i 'in + lagVerbrange(7)] 
 
#Alternativt: + ' ' +
def lagAdverblotto2():
i    liste = 0
while[]
    for i < 10in range(7):
    print(lagSetning(    liste.append(random.randint(1,34))
    i += 1

...

return liste

Oppgave 13 - Sum av tall

Code Block
languagepython
 # a
def velkommensumAvTall(n):
    sum = 0
  print("Velkommen til defor rødei elefanters evighet.")
# b
def sum(tall1, tall2):
    return tall1 + tall2

 

...

in range(1,n+1):
        sum += i
    return sum
 
n = 0
x = 0
while x < 500:
    n += 1
    x = sumAvTall(n)
print (n,'er det minste tallet som gjør at funksjonen sumAvTall returnerer en verdi over 500')

Oppgave 14 - Vårt første lille program

Code Block
languagepython
import math
# a)
def storst_tall(liste):
    return max(liste)
testliste = [0,3,1,9,8,3,8]
storste = storst_tall(testliste)
print(storste)

# b)
def dobbel_tall(tall):
    return tall * 2
dobbel_storste = dobbel_tall(storste)
print(dobbel_storste)

# c)
def sirkel_areal(radius):
    return math.pi * radius**2
areal = sirkel_areal(dobbel_storste)
print("%.2f" % areal)

# d)
# Areal: 50.27

Oppgave 5

Code Block
languagepython
import math
# henter input fra bruker
input_radius = float(input("Skriv inn radius: "))
# beregner kvadratet av et tall x
def kvadrat(x):
    return x **2
# beregner areal av sirkel vha. hjelpefunksjonen kvadrat
def sirkel_areal(radius):
    areal = math.pi * kvadrat(radius)
    return areal
print("Arealet av en sirkel med radius", input_radius, "er:", " %.2f" % sirkel_areal(input_radius))

Oppgave 6

Code Block
languagepython
from random import randint
nedre_grense = int(input("Skriv inn nedre grense: "))
ovre_grense = int(input("Skriv inn øvre grense: "))
def tilfeldig_tall(n_grense,o_grense):
    return randint(n_grense,o_grense)
print(tilfeldig_tall(nedre_grense, ovre_grense))