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
# 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 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