Skip to end of metadata
Go to start of metadata

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 sum(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
import math
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 minsteTall(numberList):
    #Definerer det første elementet som det minste til å beynnge med
    minNumber = numberList[0]
    minIndex = 0
    for index, number in enumerate(numberList):
        if number < minNumber:
            minNumber = number
            minIndex = index
    return minIndex

Oppgave 7 - Negative tall i tabell

def negativTabell(numberList):
    for number in numberList:
        if number < 0:
            return true
    return false

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

# 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, max):
	# tom liste vi legger til radene i
    ans = []  
    for i in range(min, max+1):
        temp = [] # midlertidig liste som vi bruker til mellomlagring
        for j in range(min, max+1):
            temp.append(i*j)
        ans.append(temp)
    return ans
print(gangetabell(1,10))

Oppgave 11 - Funksjonskall i funksjon

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

import random
def lotto():
    return [random.randint(1,34) for i in range(7)] 
    
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,'is the smallest number whose sum of preceeding numbers and itself is larger than 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)

# d)
# Areal: 50.27
  • No labels