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

# 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

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

Oppgave 4 - Absoluttverdi

#Alternativ 1
def absolutt(tall):
    if tall < 0:
        return tall * -1
    else:
        return tall
         
#Alternativ 2
def absolutt(tall):
    return abs(tall)

Oppgave 5 - Minste tall

def minsteTall(a,b):
    if a < b:
        return a
    elif b < a:
        return b
    else:
        return a;
def minsteAvTreTall(a,b,c):
    if a < b and a < c:
        return a
    elif b < a and b < c:
        return b
    elif c < a and c < b:
        return c
    else:
        if a == b:
            return a
        elif a == c:
            return a
        elif b == c:
            return b
        #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):
    liste = [a,b,c]
    minste = a
    for tall in liste:
        if tall < minste:
            minste = tall
    return minste

Oppgave 6 - Minste tall i liste

def indeks_minste_element(numberList):
    #Definerer det første elementet som det minste til å beynnge med
    minNumber = numberList[0]
    minIndex = 0
    for x in range(len(numberList)):
        if numberList[x] < minNumber:
            minNumber = numberList[x]
            minIndex = index
    return minIndex

Oppgave 7 - Negative tall i tabell

def negativ_tabell(numberList):
    for number in numberList:
        if number < 0:
            return true
    return 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

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

#iterativ
def faculty(number):
    if number == 0:
        return 1
    faculty = 1
    for i in range(1, number + 1):
        faculty *= i
    return faculty
#rekursiv
def facultyRec(number):
    if number == 0:
        return 1
    return number * facultyRec(number - 1)

Oppgave 10 - Den lille multiplikasjonstabellen

def gangetabell():
    # tom liste vi legger til radene i
    ans = [] 
    for i in range(1, 11):
        temp = [] # midlertidig liste som vi bruker til mellomlagring
        for j in range(1, 11):
            temp.append(i*j)
        ans.append(temp)
    return ans
for linje in gangetabell():
    print(linje)

Oppgave 11 - Funksjonskall i funksjon

from random import randint
def lagVerb(liste):
    #henter ut et tilfeldig verb fra listen
	tall = randint(0,4)
    return liste[tall]
 
def lagNavn(liste):
    #henter ut et tilfeldig navn fra listen
	tall = randint(0,4)
    return liste[tall]

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

Oppgave 12 - Lotto

import random
def lotto():
    return [random.randint(1,34) for i in range(7)] 
 
#Alternativt:    
def lotto2():
    liste = []
    for i in range(7):
        liste.append(random.randint(1,34))
    return liste

Oppgave 13 - Sum av tall

def sumAvTall(n):
    sum = 0
    for i 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

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)

  • No labels