Funksjoner

I programmering bruker vi funksjoner for å samle kode i en sammensatt bolk. Dette gjør det lettere å skrive, lese og vedlikeholde koden. Når vi arbeider med matematiske funksjoner, er det oftest hensiktsmessig å definere dem som funksjoner i Python. I tillegg bruker vi funksjoner i en rekke andre situasjoner.

Vi lager en funksjon i Python med kontrollordet def, etterfulgt av navnet på funksjonen, parenteser og et kolon.

Dersom du vil at funksjonen skal kunne ta ett eller flere argumenter, skriver du dem inn i parentesene. Du kan selv fritt velge navn på variablene som representerer funksjonens argumenter. Hvis funksjonen skal returnere en verdi, bruker du kontrollordet return.

Vi bruker funksjonen andre steder i programmet vårt ved å skrive navnet, eventuelt med argumenter. Funksjonen må defineres før vi bruker den. Skal vi ta vare på verdien fra funksjonen, legger vi verdien inn i en variabel.

Skriv et program med en funksjon som legger sammen to tall. Bruk funksjonen til å skrive ut svaret på addisjonen \(5+7\) til skjerm.

def addisjon(n, m):
    return n + m

summen = addisjon(5, 7)
print(summen)

Når vi kjører programmet, får vi 12 til svar.

Skriv et program som definerer \(f(x)=3x+2\) som en funksjon. Programmet skal be brukeren om en \(x\)-verdi og så regne ut funksjonsverdien.

Vi definerer funksjonen først. Deretter ber vi brukeren om \(x\)-verdi:

def f(x):
    return 3*x + 2

xverdi = float(input('Hvilken x-verdi vil du ha regnet ut? x = '))

svar = f(xverdi)

print(f'f({xverdi}) = {svar}.')

Når vi kjører programmet og taster inn \(6{,}5\) underveis, får vi:

Hvilken x-verdi vil du ha regnet ut? x = 6.5
f(6.5) = 21.5.

Funksjoner kan også defineres uten noe return-utsagn. Når vi bruker en slik funksjon, blir alle funksjonens linjer med kode utført, men funksjonen returnerer ingen verdi.

Lag en funksjon som returnerer produktet av to tall.

Lag en funksjon \(f\) som returnerer det samme som den matematiske funksjonen \(f(x)=3x^2+3\). Skriv deretter et program som ber brukeren om \(x\)-verdi og så bruker funksjonen til å regne ut funksjonsverdien.

Lag en funksjon som skriver ut argumentet til skjerm tre ganger.

Lag en funksjon som adderer to tall og skriver ut regnestykket og svaret.