Oppgave 1 - Teori om funksjoner
- 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.
def function_name(argument1,argument2):
- Ja, om du vil ha en funksjon som alltid skriver 'hei', så trenger ikke denne funksjonen ta inn noen parametere.
- Ja, om du vil ha en funksjon som alltid skriver 'hei', så trenger ikke denne funksjonen gi tilbake noen parametere.
- 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 |
---|
|
# 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 |
---|
|
#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 |
---|
|
#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 |
---|
|
def minsteTall(numberLista,b):
if a #Definerer< detb:
første elementet som det minste til å beynngereturn meda
elif minNumberb = numberList[0]
< a:
return minIndexb
= 0else:
for index, number in enumerate(numberListreturn a;
def minsteAvTreTall(a,b,c):
if a < b ifand numbera < minNumberc:
return a
minNumberelif =b number
< a and b < c:
minIndex =return indexb
returnelif minIndexc
< a and |
Oppgave 5
Code Block |
---|
|
def negativTabell(numberList):
for number in numberListc < b:
return c
else:
if numbera <== 0b:
return truea
return false |
Oppgave 6
Code Block |
---|
|
#iterativ
def faculty(number):
elif a == c:
if number == 0:
return 1;a
elif facultyb == 1c:
for ireturn in range(1, number + 1):
b
#Om vi kommer ned facultyhit *= i;
return faculty
#rekursiv
def facultyRec(number):
betyr det at alle tallene er like
if number == 0else:
return 1
return a
#En bedre løsning som returnbenytter number * facultyRec(number - 1); |
Oppgave 7
Code Block |
---|
|
import random
#Ringdal-løsningen
def lotto():
return [random.randint(1,34) for i in range(7)]
def lotto2():
liste = []en liste
def minsteAvTreTallList(a,b,c):
liste = [a,b,c]
minste = a
for tall in liste:
if tall < minste:
for i in range(7):
minste liste.append(random.randint(1,34))= tall
return listeminste |
Oppgave
...
6 - Minste tall i liste
Code Block |
---|
|
# printer tekst 20 ganger
for i in range(0,21):
print("Bolton Wanderers!") |
Oppgave 2
Code Block |
---|
|
from random import randint
ikkesyv = True
while (ikkesyv):def indeks_minste_element(numberList):
#Definerer det første elementet som det minste til å beynnge med
minNumber = numberList[0]
xminIndex = randint(0,10)
iffor (x != 7in range(len(numberList)):
if print(x)numberList[x] < minNumber:
else:
ikkesyvminNumber = False |
Oppgave 3
Code Block |
---|
|
# a
def velkommen():
numberList[x]
print("Velkommen til de røde elefanters evighet.")
# b
def sum(tall1, tall2): minIndex = index
return tall1 + tall2 |
Oppgave 7 - Negative tall i tabell
...
Code Block |
---|
|
import math
# a)
def storstnegativ_talltabell(listenumberList):
return max(liste)
testliste = [0,3,1,9,8,3,8]
storste = storst_tall(testliste)
print(storste)
# b)
def dobbel_tall(tall):
for number in numberList:
returnif tallnumber *< 2
dobbel_storste = dobbel_tall(storste)
print(dobbel_storste)
# c)
def sirkel_areal(radius):
0:
return math.pi * radius**2
areal = sirkel_areal(dobbel_storste)
print("%.2f" % areal)
# d)
# Areal: 50.27 |
Oppgave 5
Code Block |
---|
|
import math
# henter input fra bruker
input_radius = float(input("Skriv inn radius: "))
# beregner kvadratet av et tall x
def kvadrat(x):return true
return false
#Alternativt
def negativ_tabell(liste):
tallIndex = index_minste_element(liste)
tall = liste[tallIndex]
return x **2
# beregner areal av sirkel vha. hjelpefunksjonen kvadrat
def sirkel_areal(radius):
areal = math.pi * kvadrat(radius)erNegativ(tall)
#Alternativt til den rett over, men på én linje
def negativ_tabell2(liste):
return areal
print("Arealet av en sirkel med radius", input_radius, "er:", " %.2f" % sirkel_areal(input_radius))erNegativ(liste[minsteTall(liste)])
|
Oppgave 8 - Tilfeldig tallOppgave 6
Code Block |
---|
|
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 |
---|
|
def#iterativ
def minsteTallfaculty(a,bnumber):
if anumber <== b0:
return a1
eliffaculty b= <1
a:
for i in range(1, number return+ b1):
else:
faculty *= i
return a;faculty
#rekursiv
def minsteAvTreTall(a,b,cfacultyRec(number):
if anumber < b && a < c== 0:
return a1
elifreturn bnumber <* a && b < cfacultyRec(number - 1) |
Oppgave 10 - Den lille multiplikasjonstabellen
Code Block |
---|
|
def gangetabell():
# tom liste vi returnlegger b
til radene i
elif c <ans a= &&[] c
< b:
for i in range(1, 11):
return c
else:
temp = [] # midlertidig liste som ifvi abruker ==til b:mellomlagring
for j in return a
range(1, 11):
elif a == c: temp.append(i*j)
ans.append(temp)
return aans
for linje in gangetabell():
elif b == cprint(linje) |
Oppgave 11 - Funksjonskall i funksjon
Code Block |
---|
|
from random import randint
def lagVerb(liste):
#henter ut et tilfeldig verb fra listen
tall return b= randint(0,4)
return liste[tall]
def lagNavn(liste):
#Om vi kommer#henter nedut hitet betyrtilfeldig detnavn at alle tallene er likefra listen
tall = randint(0,4)
return liste[tall]
def elselagSetning(liste1, liste2):
return a
#En bedre løsning som benytter en liste
def minsteAvTreTallList(a,b,clagNavn(liste1) + ' ' + lagVerb(liste2) |
Oppgave 12 - Lotto
Code Block |
---|
|
import random
def lotto():
liste =return [a,b,c]
minste = a;
random.randint(1,34) for i in range(7)]
#Alternativt:
def lotto2():
forliste tall in liste:= []
for i if tall < minstein range(7):
minste = tall
liste.append(random.randint(1,34))
return minsteliste |
Oppgave
...
13 - Sum av tall
Code Block |
---|
|
from random import randint
def lagVerbsumAvTall(n):
verbsum = ['går','spiser','tuller','hopper','leker'] 0
for i in range(1,n+1):
#henter ut et tilfeldig verbsum fra+= listeni
return verb[randint(0,len(verb)-1)]
def lagNavn() sum
n = 0
x = 0
while x < 500:
navnn += ['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(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 |
---|
|
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 lagNavn()tall + ' ' + lagVerb() + ' ' + lagAdverb()
i = 0
while i < 10:
print(lagSetning())
i += 1* 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)
|