Oppgave 1 - Åpne og skrive til fil

#a)
test_fil = 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

#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

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

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

#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

def deling(tall1,tall2):
    try:
        return tall1/tall2
    except ZeroDivisionError:
        return "Ulovlig input"

 

 Oppgave 7 - Formasjonsteknologi grunnkurs

#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 1
    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 0
#2
count = 0
f = open('testdata.txt', 'r')
for line in f:
    candidate = line.split(':')
    candidate[1] = candidate[1].strip() 
    lst = []
    for ch in candidate[1]:
        if ch.isdigit():
            lst.append(int(ch))
    x = godkjent(lst)
    count += x
    if x == 1:
        print(candidate[0],"bestod")
    else:
        print(candidate[0],"bestod ikke")
    
print("Antallet studenter som bestod:",count)

Oppgave 8 - Opprette dictionaries

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

#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

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

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

Oppgave 12 - Nyttige dictionaries metoder

print(kokebok.keys())
print(kokebok.values())
kokebok.clear()

Oppgave 13 - Enkle sett-operasjoner

#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

#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))
  • No labels