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 sum(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 def minsteTall(numberLista,b):
    if a #Definerer< detb:
 første elementet som det minste til å beynngereturn meda
    elif minNumberb = numberList[0]
    minIndex = 0
< a:
        return b
    else:
      for index, number in enumerate(numberListreturn a;
def minsteAvTreTall(a,b,c):
    if a < b if&& numbera < minNumberc:
        return a
    minNumberelif =b number
< a && b < c:
       minIndex =return indexb
    returnelif minIndexc 
< a &&  

Oppgave 5

Code Block
languagepython
def negativTabell(numberList):
    for number in numberListc < b:
        return c
    else:
        if numbera <== 0b:
            return truea
        elif return false

Oppgave 6

Code Block
languagepython
 #iterativ
def faculty(number):
    
a == c:
            return a
      if  elif numberb == 0c:
            return 1;
    
b
        #Om vi kommer ned hit betyr det at alle tallene er like
      faculty = 1else:
            return a
#En bedre løsning som forbenytter ien inliste
def rangeminsteAvTreTallList(1, number + 1):a,b,c):
    liste = [a,b,c]
    
    facultyminste *= ia;
    
    for return faculty
#rekursiv
def facultyRec(number):
tall in liste:
        if numbertall ==< 0minste:
        return  1
  minste = tall
    return
 number * facultyRec(number -return 1);minste

Oppgave

...

6 - Minste tall i liste

Code Block
languagepython
import random
#Ringdal-løsningen
def lottominsteTall(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 index, number in liste.append(random.randint(1,34))enumerate(numberList):
    return liste

Oppgave 1

Code Block
languagepython
 def minsteTall(a,b):
    if anumber < bminNumber:
        return a
   minNumber elif= bnumber
 < a:
        return b
 minIndex =  else:index
    return minIndex 
  return a;
def minsteAvTreTall(a,b,c):
    if a < b && a < c  

Oppgave 7 - Negative tall i tabell

Code Block
languagepython
def negativTabell(numberList):
    for number in numberList:
        if number < 0:
        return a
   return eliftrue
 b < a return false

Oppgave 8 - Fakultet

Code Block
languagepython
#iterativ
def faculty(number)&& b < c:
    
    returnif b
number == 0:
  elif c < a && c <return b:1;
    
    faculty return= c1
    else:
    for i in range(1, ifnumber a == b+ 1):
        faculty *= i;
    return afaculty
#rekursiv
def facultyRec(number):
    if   elif anumber == c0:
        return 1
   return a
    return number * facultyRec(number -  elif b == c:
       1);

Oppgave 9 - 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 10 - Den lille multiplikasjonstabellen

Code Block
languagepython
 # Vi definerer det laveste og stoerste tallet vi vil inkludere i gangetabellen
# fordi funksjonen vaer tar inn min og max kan vi ikke bruke iterasjonsvariablene
# i og j som indekser i svar-listen (ans) da i trolig ikke vil starte som 0
def gangetabell(min, maxb
        #Om vi kommer ned hit betyr det at alle tallene er like
        else:
            return a
#En bedre løsning som benytter en liste
def minsteAvTreTallList(a,b,c):
    listeans = [a,b,c]
    
    minste = a;] # tom liste vi legger til radene i 
    for i in range(min, max+1):
    
    temp = for[] tall# inmidlertidig liste:
 som vi bruker til mellomlagring
        for ifj tall < minstein range(min, max+1):
            minste = tall
temp.append(i*j)
        ans.append(temp)
    return minste

...

ans
print(gangetabell(1,10))

Oppgave 11 - Funksjonskall i funksjon

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

Oppgave

...

12 - Lotto

Code Block
languagepython
 #import arandom
def velkommenlotto():
    return print("Velkommen til de røde elefanters evighet.")
# b
def sum(tall1, tall2[random.randint(1,34) for i in range(7)] 
    
def lotto2():
    liste = []
    for i in range(7):
    return tall1 + tall2

 

    liste.append(random.randint(1,34))
    return liste

Oppgave 13 - Vårt første lille programe

...

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))