diff --git a/uke43/dictionaries_forklart.py b/uke43/dictionaries_forklart.py
new file mode 100644
index 0000000000000000000000000000000000000000..34d2287041c1d1709e0d72f25d7c833dc70276f2
--- /dev/null
+++ b/uke43/dictionaries_forklart.py
@@ -0,0 +1,101 @@
+# Ta en kikk paa passordliste.py, denne viser
+# hvordan man kan bruke en todimensjonal liste.
+
+
+# Dictionaries
+'''
+En dictionary kan sees på som en kommode med mange
+skuffer. Utenpå hver skuffe står det en nøkkel (key).
+Nøkkelen kan være hva som helst som er ikke-muterbart,
+det vil si at man for eksempel ikke kan bruke en liste
+som en nøkkel.
+
+Denne
+må være unik (akkurat som sett). Hver skuffe har også en
+verdi (value). Alt mulig kan ligge inni skuffen. En boolean,
+et talln en todimensjonal liste, en annen dictionary...
+Mulighetene er uendelige!
+
+Dette er for øvrig ikke en fullstendig beskrivelse av
+dictionaries, men det viser de mest brukte tingene ved dem.
+'''
+
+# Lage en tom dictionary:
+ordbok = {}
+
+# Legge inn en verdi 12 til nøkkelen 'svaret'
+ordbok['svaret'] = 12
+print('svaret: ',ordbok)
+# Den samme ordbokn kan ha ulike typer på nøkler og verdier
+ordbok[12] = 'tre ganger fire'
+ordbok['liste'] = [[1,2],[3,4]]
+print('tre elementer: ',ordbok)
+# Bare én nøkkel av hver type. Setter du den igjen overskriver du
+ordbok[12] = 'tolv ganger én'
+print('Ny tolver: ',ordbok)
+
+# For å hente ut en verdi gitt en nøkkel:
+print(f'Inni skuffen med "liste" utenpå ligger {ordbok["liste"]}')
+
+# Man kan hente ut alle nøkler (skuffefronter) slik:
+for key in ordbok.keys():
+    print('nøkkel:',key)
+    # Men man kan også hente ut verdiene, gitt key
+    print('nøkkel:',key,'har verdi:',ordbok[key])
+    
+# Man kan hente ut alle verdier (inni skuffene) slik:
+for value in ordbok.values():
+    print('verdi:',value)
+
+# Man kan hente begge slik:
+for key, value in ordbok.items():
+    print('verdi:',value)
+
+# Hvis en forsøker å hente ut en verdi på denne måten, og
+# nøkkelen ikke finnes, da utløses et unntak:
+# print(ordbok['finnesikke'])
+# Dette kan man unngå ved å bruke get(<nøkkel>):
+print('bruke get:',ordbok.get(12))
+
+# Hvis nøkkelen ikke finnes, da returnerer get None:
+print('bruke get på ikkeeksisterende nøkkel:',ordbok.get('finnesikke'))
+
+# Man kan i stedet la den returnere noe en selv spesifiserer hvis
+# nøkkelen ikke finnes, med get(<nøkkel>,<retur_hvis_ikke_eksisterer>)
+print('bruke get med bestemt retur:',ordbok.get('finnesikke',[]))
+
+
+# Eksempel med bruk v dictionary og analyse av en lenger streng:
+# Lag en ordbok som teller antall forekomster av alle ord.
+# ordet selv er nøkkelen, antall ganger er verdien knyttet
+# til denne.
+
+
+ordbok.clear() # Nå er den tom
+
+import lyric
+# I filen lyric.py ligger en strengvariabel TEKST
+for ord in lyric.TEKST.split(): # Sjekk bruken av modulen
+#    print(f'"{ord}"')
+    # Nå må vi finne ut hvor mange ganger ordet har vært
+    # talt opp før. Hvis det er første gang ber vi get
+    # returnere 0. Smart, ikke sant?
+
+    # Fjerne noen punktum og slikt.
+    ord = ord.replace('.','')
+    ord = ord.replace(')','')
+    ord = ord.replace('(','')
+    ord = ord.replace(',','')
+    
+    ganger = ordbok.get(ord,0)
+    
+    # Så oppdaterer vi den med 1
+    ordbok[ord] = ganger + 1
+    # kunne gjort det på en linje:
+#    ordbok[ord] = ordbok.get(ord,0) + 1
+
+# Skriv ut alle ordene og antall treff, i alfabetisk rekkefølge:
+print('Ord:\t\tGanger:')
+# sorted kan brukes på keys, values, under velger den automatisk keys:
+for ord in sorted(ordbok): 
+    print(ord,'\t\t',ordbok[ord])
diff --git a/uke43/dictionary_metoder.py b/uke43/dictionary_metoder.py
new file mode 100644
index 0000000000000000000000000000000000000000..4ad3d0b076cb02ccd2105b2696dd5380bef8ec70
--- /dev/null
+++ b/uke43/dictionary_metoder.py
@@ -0,0 +1,24 @@
+# Opprette en dictionary
+d = {} # Mac SHIFT+ALT+ 8 9
+
+print('Skriv inn key og verdi. Avslutt med tom streng.')
+
+key = input('Key: ')
+
+while(key!=''):
+    value = input('Value: ')
+    d[key] = value
+
+    key = input('Key: ')
+
+# Litt variasjon på bruk av f strings og ikke, for å minne dere på...
+print(f'len(d): {len(d)}')
+print('d.items():',d.items())
+print('d.keys():',d.keys())
+print('d.values():',d.values())
+print('d.get(\'ost\',-999):',d.get('ost',-999))
+print('Merk at alt er strenger. Hvordan kan vi lagre det som andre typer variable?')
+
+# uskrift av alt:
+for key, value in d.items():
+    print(f'Inni skuffen {key} ligger {value}.')
\ No newline at end of file
diff --git a/uke43/lyric.py b/uke43/lyric.py
new file mode 100644
index 0000000000000000000000000000000000000000..e2cb8a90f571f750d6f1dd2a0157d09700c305eb
--- /dev/null
+++ b/uke43/lyric.py
@@ -0,0 +1,139 @@
+TEKST = '''
+Seiya sessesse seiya.
+Seiya sessesse seiya.
+Soiya sossosso soiya.
+Soiya sossosso soiya.
+
+(Ossu.) Namida koborete mo
+(Ossu.) tachimukatte yukooze!
+
+Hitasura seiya soiya tatakau-nda
+kobushi o motto kokoro o motto
+zenbu zenbu togisumashite.
+(Wo'oo wo'oo wo'oo.)
+
+Mada mada seiya soiya tatakau-nda
+kanashiku natte tachiagare-naku natte mo.
+(Aa ossu ossu.)
+
+Seiya sessesse seiya.
+Seiya sessesse seiya.
+Soiya sossosso soiya.
+Soiya soso soiya.
+
+(Ossu.) Kokoro orarete mo
+(Ossu.) tachimukatte yukooze!
+
+Hitasura seiya soiya tatakau-nda
+kobushi o motto kokoro o motto
+zenbu zenbu togisumashite.
+(Wo'oo wo'oo wo'oo.)
+
+Mada mada seiya soiya tatakau-nda
+kanashiku natte tachiagare-naku natte mo.
+
+(Wo'oo wo'oo wo'oo.)
+(Wo'oo wo'oo wo'oo.)
+
+Seiya soiya tatakau-nda
+(Wo'oo wo'oo wo'oo.)
+zenbu zenbu togisumashite.
+(Wo'oo wo'oo wo'oo.)
+
+Seiya soiya tatakau-nda
+(Wo'oo wo'oo wo'oo.)
+zenbu zenbu togisumashite.
+(Wo'oo wo'oo wo'oo.)
+
+Hitasura seiya soiya tatakau-nda
+kobushi o motto kokoro o motto
+zenbu zenbu togisumashite.
+(Wo'oo wo'oo wo'oo.)
+
+Mada mada seiya soiya tatakau-nda
+kanashiku natte tachiagare-naku natte mo.
+
+Hashire!
+(Seiya soiya tatakau-nda)
+(zenbu zenbu togisumashite.)
+(Wo'oo wo'oo wo'oo.)
+
+Hashire!
+(Seiya soiya tatakau-nda)
+(zenbu zenbu togisumashite.)
+
+(Wo'oo wo'oo wo'oo.)
+(Wo'oo wo'oo wo'oo.)
+(Wo'oo wo'oo wo'oo.)
+(Wo'oo wo'oo wo'oo.)
+
+[English:]
+
+Seiya sessesse seiya.
+Seiya sessesse seiya.
+Soiya sossosso soiya.
+Soiya sossosso soiya.
+
+(Ossu.) Even if tears spill from our eyes,
+(Ossu.) let's confront it!
+
+Single-mindedly, seiya soiya, let's fight on
+with our fists more... with our spirits more...
+with making all sharper.
+(Wo'oh wo'oh wo'oh.)
+
+Still more, seiya soiya, let's fight on
+even if we get sad and unable to stand up.
+(Ah ossu ossu.)
+
+Seiya sessesse seiya.
+Seiya sessesse seiya.
+Soiya sossosso soiya.
+Soiya soso soiya.
+
+(Ossu.) Even if our spirits are broken,
+(Ossu.) let's confront it!
+
+Single-mindedly, seiya soiya, let's fight on
+with our fists more... with our spirits more...
+with making all sharper.
+(Wo'oh wo'oh wo'oh.)
+
+Still more, seiya soiya, let's fight on
+even if we get sad and unable to stand up.
+
+(Wo'oh wo'oh wo'oh.)
+(Wo'oh wo'oh wo'oh.)
+
+Seiya soiya, let's fight on
+(Wo'oh wo'oh wo'oh.)
+with making all sharper.
+(Wo'oh wo'oh wo'oh.)
+
+Seiya soiya, let's fight on
+(Wo'oh wo'oh wo'oh.)
+with making all sharper.
+(Wo'oh wo'oh wo'oh.)
+
+Single-mindedly, seiya soiya, let's fight on
+with our fists more... with our spirits more...
+with making all sharper.
+(Wo'oh wo'oh wo'oh.)
+
+Still more, seiya soiya, let's fight on
+even if we get sad and unable to stand up.
+
+Run!
+(Seiya soiya, let's fight on)
+(with making all sharper.)
+(Wo'oh wo'oh wo'oh.)
+
+Run!
+(Seiya soiya, let's fight on)
+(with making all sharper.)
+
+(Wo'oh wo'oh wo'oh.)
+(Wo'oh wo'oh wo'oh.)
+(Wo'oh wo'oh wo'oh.)
+(Wo'oh wo'oh wo'oh.)
+'''
\ No newline at end of file
diff --git a/uke43/oppgave_count_words.py b/uke43/oppgave_count_words.py
new file mode 100644
index 0000000000000000000000000000000000000000..c1fa89fcc7f093b6bcde5aab86762991adea9b16
--- /dev/null
+++ b/uke43/oppgave_count_words.py
@@ -0,0 +1,27 @@
+import random
+
+'''
+Opprette tom dictionary/ordbok
+Gjøre om strengen til liste av ord
+Gå igjennom hvert ord og:
+ - Er ordet i dict fra før? Legg på 1 på verdien som er der
+ - Hva skal du gjøre hvis ordet ikke er det fra før? Se på d.get igjen.
+Returner dictionary
+'''
+
+def count_words(streng):
+    # Gjør det over
+    return {} # Erstatt med din utfylte dict
+    
+import random
+# Jeg lager bare kjapt en streng med en drøss tilfeldige tall mellom 0 og 10:
+streng = " ".join([str(random.randint(0, 10)) for i in range(100)])
+d = count_words(streng)
+
+# skriver dem ut:
+for key in sorted(d):
+    print(f'{key} var der {d[key]} ganger.')
+
+# Hvis dere har veldig lyst:
+#import lyric
+#print(count_words(lyric.TEKST))
diff --git a/uke43/oppgave_set.py b/uke43/oppgave_set.py
new file mode 100644
index 0000000000000000000000000000000000000000..51d002194df09e07e9444a10515ec11748cd6feb
--- /dev/null
+++ b/uke43/oppgave_set.py
@@ -0,0 +1,27 @@
+import random
+'''
+
+Funksjonen beskriv_set tar inn to LISTER a og b
+Den skal gjøre om listene til set, og så
+skrive ut ulike ting:
+- alle unike verdier som er i begge listene til sammen
+- alle verdier som KUN er i begge listene
+- alle verdier som er i begge listene, men ikke i begge
+- elementene som er i a, men ikke i b
+
+'''
+
+def beskriv_sett(a, b):
+    
+    # Gjør om begge til set
+    # ...
+
+# fiks disse:
+#    print(f'Unike element i hele a og b tilsammen: {}')
+#    print(f'Unike element som er i både a og b: {}')
+#    print(f'Unike element i som ikke er i begge lister: {}')
+#    print(f'Elementer i a som ikke også er i b: {}')
+
+
+a = [random.randrange(10) for i in range (0, 10)]
+b = [random.randrange(10) for i in range (5, 15)]
diff --git a/uke43/passordliste.py b/uke43/passordliste.py
new file mode 100644
index 0000000000000000000000000000000000000000..b97db6afe34985a76e7dbb2767099fdb8d14c849
--- /dev/null
+++ b/uke43/passordliste.py
@@ -0,0 +1,20 @@
+'''
+Dette er en veldig enkel greie å vise hvordan en kan
+bruke todimensjonale lister for å holde rede på kobling
+mellom to dataverdier. 
+'''
+
+# Leter igjennom passordliste, etter treff
+def finn_passord(passordliste):
+    nettsted = input('Nettsted du vil ha passord til: ')
+    for sted in passordliste:
+        if sted[0] == nettsted:
+            return sted[1] # Dette er jo passordet
+    return None # Default
+
+
+liste = [['reddit', '''¯\_(ツ)_/¯'''], ['youtube', 'passordYT!'], \
+         ['ute.no', 'O$teSkrakkeleringsGnøffe_Gnøff'], \
+         ['filateli.no', 'Frimerker4ever']]
+
+# print('finn_passord: ' + finn_passord(liste))
\ No newline at end of file
diff --git a/uke43/set.py b/uke43/set.py
new file mode 100644
index 0000000000000000000000000000000000000000..50c1f11071c6ea7602944d238ee9111181c58d32
--- /dev/null
+++ b/uke43/set.py
@@ -0,0 +1,14 @@
+import random
+
+# 100 tilfeldige tall 0 - 100 inn i en liste:
+tall = [random.randint(0,100) for i in range(100)]
+
+print("Antall tall:",len(tall))
+tall.sort()
+print("Sorterte tall:", tall)
+
+# Kjører du dette mange ganger, ser du at ulike tall trekkes.
+# Og noen flere ganger. Men det finnes en måte å bare få unike
+# verdier.
+print("Set:", set(tall))
+print("Antall elementer:", len(set(tall)))