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.
...
...
Oppgave 2
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])) |
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 |
---|
|
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
...
...
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 |
---|
|
#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 |
---|
|
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 |
---|
|
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 |
---|
|
#a)
def deling(tall1,tall2):
return tall1/tall2
deling(1,0)
#b)
def deling(tall1,tall2):
if tall2 == 0:
|
...
...
...
Oppgave 6 - Try/except
Code Block |
---|
|
def deling(tall1,tall2):
try:
|
...
return tall1/tall2
except ZeroDivisionError:
|
...
...
Oppgave 7 - Formasjonsteknologi grunnkurs
...
Code Block |
---|
|
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 |
---|
|
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 |
---|
|
#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 |
---|
|
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 |
---|
|
for rett in kokebok:
kokebok[rett].append('salt')
kokebok[rett].append('pepper') |
Oppgave 12 - Nyttige dictionaries metoder
Code Block |
---|
|
print(kokebok.keys())
print(kokebok.values())
kokebok.clear() |
Oppgave 13 - Enkle sett-operasjoner
Code Block |
---|
|
#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 |
---|
|
#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)) |