#a def penger(femkroninger, kronestykker): return 5*femkroninger + kronestykker assert penger(2,3)==13 assert penger(0,0)==0 #b def barnMedVoksen(alder1, alder2): return (alder1 >= 18 and alder2 < 18) or \ (alder1 < 18 and alder2 >= 18) assert barnMedVoksen(18,5) assert barnMedVoksen(10,18) assert not barnMedVoksen(18,30) assert not barnMedVoksen(5,7) def barnMedVoksen2(alder1, alder2): return (alder1-17.5) * (alder2-17.5) < 0 assert barnMedVoksen2(18,5) assert barnMedVoksen2(10,18) assert not barnMedVoksen2(18,30) assert not barnMedVoksen2(5,7) #c def riktig_allePositive(tallene): #eneste forskjell er innrykk paa siste linje, #slik at siste return havner utenfor loekka for tall in tallene : if (tall < 0) : return False return True assert riktig_allePositive([2,3]) assert not riktig_allePositive([-1,2,3]) assert not riktig_allePositive([2,3,-1]) #NB! Merk at en annen unoyaktighet er at oppgavebeskrivelsen #henviser til positive tall, som matematisk sett ikke inkluderer tallet null #Dette er ogsaa fint aa nevne, men kreves ikke for full uttelling #Om man bare nevner aspektet med at null ikke er inkludert i positive tall, #uten aa kommentere at koden oppforer seg annerledes enn intensjonen grunnet at Return True ligger i lokka, #gir ogsaa dette uttelling, men ikke full. #d def fyllTilTi(tallene): while len(tallene)<10: tallene.append(0) return tallene assert fyllTilTi([1,2,3]) == [1,2,3,0,0,0,0,0,0,0] assert fyllTilTi([1,2,3,0,0,0,0,0,0,0]) == [1,2,3,0,0,0,0,0,0,0] def fyllTilTi2(tallene): return tallene + [0]*(10-len(tallene)) assert fyllTilTi2([1,2,3]) == [1,2,3,0,0,0,0,0,0,0] assert fyllTilTi2([1,2,3,0,0,0,0,0,0,0]) == [1,2,3,0,0,0,0,0,0,0] #e og f class Node : def __init__ (self, verdi) : self._verdi = verdi self._neste = None def settInn (self, ny) : self._neste = ny # ...flere metoder vi ikke trenger.. def skrivMeg (self) : print (self._verdi + "\n") if self._neste != None : self._neste.skrivMeg() #3e listeStart = Node("a") ny = Node ("b") listeStart.settInn(ny) listeStart.skrivMeg() print ("--------") #3f ny = Node ("c") ny.settInn(listeStart) listeStart = ny listeStart.skrivMeg()