Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Oppgave 1

...

for i in range(start()),slutt) 

...

Man bruker helst for løkker når man vet hvilke verdier man skal iterere over. Hvis dette er ukjent, for eksempel ved "fortsett så lenge brukerinput ikke er 0", da må man benytte while løkke.

- Åpne og skrive til fil

Code Block
languagepython

...

#a)
test_fil = 

...

Oppgave 2

  1.  

     

     

    Code Block
    def neg_or_pos(list):
    	for i in range(0,len(list)):
    		list[i] = (list[i]>=0)
    	return(list)
     
    print(neg_or_pos([-4,5,3,9,3,-3,-8,8]))
     
    % Eller:
    def neg_to_pos(list):
    	for i in range(0,len(list)):
    		if (list[i]>=0):
    			list[i] = 1
    		else:
    			list[i] = 0
    	return(list)
    
    print(neg_or_pos([-4,5,3,9,3,-3,-8,8]))

     

     

     

     

  2.  

     

     

    Code Block
    sum = 0
    	for j in range (0,len(list)):
    	sum+=list(i)
    
    print sum
     
    % Eller:
    sum(x for x in list)

     

     

     

Oppgave 3

...

 

 

 

 

 

Code Block
def abs_matrix(matrix):
	for k in range (0,len(matrix)):
		for t in range (0,len(matrix[k])):
			if (matrix[k][t]<0)
				matrix[k][t]*= -1
	return matrix
	
mat = [[1,3,-3,5,23],[23,1,34,13,32],[33,67,64,5,-9],[46,-6,6,64,8],[2,3,19,12,-4]]	
print(abs_matrix(mat))

 

 

...

Code Block
languagepython
def max_matrix(matrix):
	max = -float('Inf')
	for i in range(0,len(matrix)):
		for j in range(0,len(matrix[i])):
			if (matrix[i][j] > max):
				max = matrix[i][j]
	return max
mat = [[1,3,-3,5,23],[23,1,34,13,32],[33,67,64,5,-9],[46,-6,6,64,8],[2,3,19,12,-4]]	
print(max_matrix(mat))

 Oppgave 4

...

languagepython

...

open('test.txt','r')
test_fil.close()
 
#b)
test_fil = open('test.txt','w')
test_fil.write('Bob Bernt')
test_fil.close()
 
#c)
test_fil = open('test.txt','a')
test_fil.write(' Bjornsdotter\n')
test_fil.close()

#d)
test_fil = open('test.txt','a')
test_fil.write('Ola\n')
test_fil.write('Carina\n')
test_fil.write('Aragusta\n')
test_fil.write('Willy\n')
test_fil.close()

Oppgave 2 - Lese data fra fil

Code Block
languagepython
#a)
test_fil = open('test.txt','r')
innhold = test_fil.read()
print(innhold)
test_fil.close()

#b)
test_fil = open('test.txt','r')
forste = test_fil.readline()
print(forste)

#c)
andre = test_fil.readline()
print(andre)

#d)
tredje = test_fil.readline()
tredje = tredje.rstrip('\n')	#eventuelt: tredje = tredje.rstrip()
fjerde = test_fil.readline()
print(tredje)
print(fjerde)
test_fil.close()

Oppgave 3 - Skriving av numeriske data til fil

Code Block
languagepython
skrivefil = open('test.txt','w')
tall1 = int(input('Gi inn tall nr 1: '))
tall2 = int(input('Gi inn tall nr 2: '))
total = tall1+tall2
streng = str(total)
skrivefil.write(streng)
skrivefil.close() 

Oppgave 4 - Bruk av løkker til filhåndtering

Code Block
languagepython
def gaver():
    skrivefil = open('test.txt','w')
    for i in range(5):
        gave = input('Gi inn gaveønske: ')
        skrivefil.write(gave+'\n')
    skrivefil.close()

Oppgave 5 - Eksempler på exceptions

Code Block
languagepython
#a)
def deling(tall1,tall2):
    return tall1/tall2
deling(1,0)

#b)
def deling(tall1,tall2):
    if tall2 == 0:
        

...

return 

...

"Ulovlig input"
    else:
        

...

return tall1/tall2

Oppgave 6 - Try/except

Code Block
languagepython
def deling(tall1,tall2):
    try:
        

...

return tall1/tall2
    except ZeroDivisionError:
   

...

     return

...

 "Ulovlig input"

 

 Oppgave 7 - Formasjonsteknologi grunnkurs

...

Code Block
languagepython
 def#1 
def godkjent(liste):
    teller1 = 0 # for oving 1-6
    teller2 = 0 # for oving 7-12
    teller3 = 0 # for oving 11 og 12
    # siden "1" i listen betyr godkjent og "0" ikke godkjent
    # kan vi legge til verdien i listen til tellerene istedenfor aa
    # foerst sjekke om liste[i] == 1 og oeke telleren med 1 hvis ja
    for i in range(0, 6):
        teller1 += int(liste[i])
    for i in range(6, 12):
        teller2 += int(liste[i])
    for i in range(10, 12):
        teller3 += int(liste[i])
    if teller1 >= 5 and teller2 >= 4 and teller3 >= 1:
        return True1
    else:
        return 0
 
#alternativt:
def godkjent(lst):
    lst2 = lst[6:]
    first_part = 0
    second_part = 0
    for i in range(6):
        first_part += lst[i]
        second_part += lst2[i]
    if first_part>4 and second_part>3 and (lst[10]==1 or lst[11]==1):
        return 1
    return False0
#2
count = 0
f = open('testdata.txt', 'r')
for line in f:
    candidate = line.split(' :')
    candidate.pop() # fjerner \n-karakteren paa slutten av hver linje
    # skriv din kode her[1] = candidate[1].strip() 
    lst = []
    for ch in candidate[1]:
        if ch.isdigit():
            lst.append(int(ch))
    x = godkjent(lst)
    count += godkjent(candidate)
print(countx
    if x == 1:
        print(candidate[0],"bestod")
    else:
        print(candidate[0],"bestod ikke")
    
print("Antallet studenter som bestod:",count)

Oppgave 8 - Opprette dictionaries

Code Block
languagepython
kokebok = {'pasta carbonara':['fløte','pasta','bacon','egg'], 'sopp-risotto':['sopp','ris','fløte'], 'pasta bolognese':['pasta','kjøttdeig','tomatsaus']}

Oppgave 9 - Hente, slette og legge til verdier fra en dictionary

Code Block
languagepython
#a
print(kokebok.get('pasta carbonara'))

#b
kokebok['kyllingsalat'] = ['kylling','tomat','agurk','salat']

#c
if 'sopp-risotto' in kokebok:
    print('sopp-risotto finnes i kokeboken')
else:
    print('beklager, sopp-risotto finnes ikke i kokeboken')

#d
del kokebok['pasta bolognese']

Oppgave 10 - Iterere over elementer i en dictionary

Code Block
languagepython
for rett in kokebok:
    print(rett + ' inneholder ' + str(kokebok.get(rett))) 
 
#alternativt:
for rett, innhold in kokebok.items():
    s = ''
    for el in innhold:
        s += el+', '
    print(rett,'inneholder',s[0:-2])

Oppgave 11 - Endre verdier i en dictionary

Code Block
languagepython
for rett in kokebok:
    kokebok[rett].append('salt')
    kokebok[rett].append('pepper')

Oppgave 12 - Nyttige dictionaries metoder

Code Block
languagepython
print(kokebok.keys())
print(kokebok.values())
kokebok.clear()

Oppgave 13 - Enkle sett-operasjoner

Code Block
languagepython
#a
primtall = set([2,3,5,7])

#b
print(len(primtall))

#c
primtall.add(11)
primtall.add(13)

#d
primtall.discard(min(primtall))

#e
for tall in primtall:
    print(tall)

Oppgave 14 - Union og snitt av sett

Code Block
languagepython
#a
oddetall = set([1,3,5,7,9,11,13])

#b
print(oddetall.intersection(primtall))

#c
print(oddetall.union(primtall))

#d
print(oddetall.difference(primtall))

#e
print(primtall.issubset(primtall))