Oppgave 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.
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
#Alternativ 1 def erNegativ(tall): if tall < 0: return true else: return false #Alternativ 2 def erNegativ(tall): return tall < 0;
Oppgave 3
#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 4
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 5
def negativTabell(numberList): for number in numberList: if number < 0: return true return false
Oppgave 6
#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 7
import random #Ringdal-løsningen 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 1
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 && a < c: return a elif b < a && b < c: return b elif c < a && 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 3
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 3
# a def velkommen(): print("Velkommen til de røde elefanters evighet.") # b def sum(tall1, tall2): return tall1 + tall2
Oppgave 4
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
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
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))