diff --git a/uke36/python/forelesning.py b/uke36/python/forelesning.py
new file mode 100644
index 0000000000000000000000000000000000000000..4a10d1865acc19e3763837d7821e93ea40081a60
--- /dev/null
+++ b/uke36/python/forelesning.py
@@ -0,0 +1,12 @@
+tall = 435.50551
+x = -3
+
+pre, post = str(tall).split('.')
+
+if x < 0:
+    t2 = pre[x+1]+post
+print(t2 > "5")
+    
+
+# print(post[x:])
+# print(post[x:] > "5")
\ No newline at end of file
diff --git a/uke36/python/puls_forelesning.py b/uke36/python/puls_forelesning.py
new file mode 100644
index 0000000000000000000000000000000000000000..31451f22f8af4aec29e8ee5d653f830f1c089cfa
--- /dev/null
+++ b/uke36/python/puls_forelesning.py
@@ -0,0 +1,3 @@
+while True:
+    print('sant')
+
diff --git a/uke37/Python/avansert_for.py b/uke37/Python/avansert_for.py
new file mode 100644
index 0000000000000000000000000000000000000000..47ab0b3b1c64d49945e77529ab71756673acfd56
--- /dev/null
+++ b/uke37/Python/avansert_for.py
@@ -0,0 +1,26 @@
+# Dette eksempelet er ikke noe en skal kunne lage selv.
+# Tanken er heller: kan du forstå hva koden gjør for noe?
+
+# Du skal registrere tiden noen bruker hver runde på å løpe
+# så langt som de skriver inn rundt en 400 meters bane.
+# Du skal be dem legge inn rundetid for hver runde
+# For hver runde:
+    # Skrive ut samlet tid brukt
+    # Skrive ut hastighet (km/h) for den runden
+
+banelengde = 400
+hvorlangt = int(input('Hvor langt: '))
+
+sammenlagttid = 0
+status = 0
+
+
+for runde in range (1, (hvorlangt // banelengde) + 2):
+    rundetid = int(input(f"tid på runde {runde}: "))
+    sammenlagttid += rundetid
+    status += banelengde
+    # TODO: siste runde er ikke alltid banelengdelengde!
+    # Hvordan påvirker det utregning av hastighet?
+    # Hvordan finner vi ut hvor langt det _egentlig_ ble løpt siste runde?
+    print(f"hastighet runde {runde}: {(banelengde/rundetid)*3.6:.2f} km/time.")
+    print(runde, rundetid, sammenlagttid, status)
\ No newline at end of file
diff --git a/uke37/Python/gangetabell.py b/uke37/Python/gangetabell.py
new file mode 100644
index 0000000000000000000000000000000000000000..e4b7dd64842476218f80d8a16202d4b220e13f29
--- /dev/null
+++ b/uke37/Python/gangetabell.py
@@ -0,0 +1,14 @@
+# Lage overskrift
+
+print('\t',end='') # Den tomme greia der tittelx krysser tittely tabbes bort
+for y in range(1, 11):
+    print(f'y:{y}\t',end='')
+print()
+
+# LoopDeLoop - for alle xer går du igjennom alle yer
+for x in range(1,11):
+    print(f'x:{x}\t',end='')
+    for y in range(1,11):
+        # legger inn en tab mellom hver, og ikke linjeskift
+        print(f'{x*y}\t',end='')
+    print('') # linjeskift etter hver hele x
\ No newline at end of file
diff --git a/uke37/Python/intro_for.py b/uke37/Python/intro_for.py
new file mode 100644
index 0000000000000000000000000000000000000000..e85d8839f3e6424caa441adad3c0923bdbe54c97
--- /dev/null
+++ b/uke37/Python/intro_for.py
@@ -0,0 +1,26 @@
+# https://play.kahoot.it/#/k/3424402e-b469-4b48-98b7-270fbc572281 
+
+#coding=utf-8
+# For - loopies
+
+# Den enkleste - fra 0 til og uten et heltall
+
+# Den litt mer avanserte: fra et tall til og uten et annet
+
+# Enda mer avansert: Fra et tall, til og uten et annet tall, men hopp n hver gang!
+
+# Avansertest: Kan man loope tegnene i en streng?
+
+# Avansertestestere: Kan man... uhm...
+# Hvis jeg vil loope gjennom mange ulike tall jeg vet på forhånd...
+# Er det noe i senere pensum som kan hjelpe meg med det? Pliiiis!!!1! [te]
+# Hint til neste år: iterable
+
+# Avansertestest: kan vi... uhm... gå nedover? Telle baklengs? fra bakerste bokstav?
+
+# Avansertestestere: Vi får se om vi har tid til en oppgave eller to om for-løkker.
+# Som:
+    # spør om og lagre en streng
+    # spør hvor stort hopp du skal gjøre mellom hvert tegn
+    # for hvert hopp gjennom strengen skriver du ut om bokstaven er en vokal:
+    # bokstav in 'aeiouyæøå'
diff --git a/uke37/Python/intro_while.py b/uke37/Python/intro_while.py
new file mode 100644
index 0000000000000000000000000000000000000000..327920931a23f332226adbd6aa4748c6850412fc
--- /dev/null
+++ b/uke37/Python/intro_while.py
@@ -0,0 +1,58 @@
+# Hva gjorde vi sist
+# Oppsummeringssider - powerpoint - nå med to ekstra sider!
+
+# Dagens tema: løkker og sløyfer
+# while
+# for
+
+
+# Oppgave 1:
+# Be brukeren om å skrive inn en streng som er enten 'krone' eller 'mynt'
+# Hvis svaret er 'krone' skriver du ut 'krone'
+# Hvis svaret er 'mynt' skriver du ut 'mynt'
+# ellers skriver du ut 'feil svar'
+
+# Oppgave 2: brukeren kan skrive 'k' eller 'm' også!
+# hvordan skal du snike inn en or i de to testene?
+# Dette er en utrolig vanlig feil: tall == 3 or 4  
+
+# Oppgave 3: gjør dette i en uendelig løkke
+# tips: hvis du skal 'lempe' en de linjer ett hakk mot høyre,
+# da kan du markere dem og trykke på <tab> (shift-tab mot venstre)
+
+# Oppgave 4
+# Lag to variable, krone og mynt, FØR while-løkken, begge 0.
+# Hvorfor må disse variablene deklareres før løkken og ikke inni?
+# Øk respektive variabel med 1 basert på om det blir krone eller mynt.
+# Hver gang gjennom løkken skal du til slutt skrive ut
+# hvor mange krone og mynt brukeren har skrevet inn til nå.
+
+
+# Oppgave 5: Tell antall ganger du har kastet krone eller mynt
+# Hvor må du deklarere denne variabelen for at den skal
+# 'holde seg' hver gang gjennom løkken?
+# Bonuspoeng hvis du skriver ut prosentandel krone hver runde
+
+# Oppgave 6: Avslutt etter ti kast!
+# while tester om noe er sant. Er det sant, da kjører den løkken
+# Hvis ikke, da avslutter den løkken og går videre
+# Hvordan kan du endre while-testen så den returnerer sant hvis og bare hvis
+# variabelen kast er ti eller mindre?
+
+# Oppgave 7: Rensk opp
+# Fjern unødvendige utskrifter
+# Endre slik at du skriver ut antall kron, mynt (og prosentandel mynt)
+# etter at alle er skrevet inn
+
+# Oppgave 8: hvorfor 10 kast?
+# Spør brukeren hvor mange ganger det skal kastes
+# hvordan kan en bruke dette rett i while-testen?
+
+
+# Oppgave 9: hvorfor bestemme kast først?
+# Det er mye bedre å spørre brukeren om hen skal kaste en
+# gang til. Endre ting slik at du i stedet spør i slutten av
+# løkka om man skal legge inn en gang til, og så sjekker while
+# mot denne. Men da må du ha satt den til noe før du går inn i
+# løkka også. Men denne er ment å være tricky, jeg viser løsningen
+# i videoen. OG eksempel i jukselappen i samme folder som denne!  
diff --git a/uke37/Python/intro_while_fasit_ikke_se_da_faller_nesa_di_av.py b/uke37/Python/intro_while_fasit_ikke_se_da_faller_nesa_di_av.py
new file mode 100644
index 0000000000000000000000000000000000000000..8c355e805d6327579eea526cf70744721c696468
--- /dev/null
+++ b/uke37/Python/intro_while_fasit_ikke_se_da_faller_nesa_di_av.py
@@ -0,0 +1,203 @@
+# Hva gjorde vi sist
+# Oppsummeringssider - powerpoint - nå med to ekstra sider!
+
+# Dagens tema: løkker og sløyfer
+# while
+# for
+
+
+# Oppgave 1:
+# Be brukeren om å skrive inn en streng som er enten 'krone' eller 'mynt'
+# Hvis svaret er 'krone' skriver du ut 'krone'
+# Hvis svaret er 'mynt' skriver du ut 'mynt'
+# ellers skriver du ut 'feil svar'
+'''
+svar = input("krone eller mynt(m): ")
+
+if svar == 'krone':
+    print('krone')  
+elif svar == 'mynt':
+    print('mynt')
+else:
+    print('feil svar')
+'''
+
+# Oppgave 2: brukeren kan skrive 'k' eller 'm' også!
+# hvordan skal du snike inn en or i de to testene?
+# Dette er en utrolig vanlig feil: tall == 3 or 4  
+'''
+svar = input("krone(k) eller mynt(m): ")
+
+if svar == 'k' or svar == 'krone':
+    print('krone')  
+elif svar == 'm' or svar == 'mynt':
+    print('mynt')
+else:
+    print('feil svar')
+'''
+
+# Oppgave 3: gjør dette i en uendelig løkke
+# tips: hvis du skal 'lempe' en de linjer ett hakk mot høyre,
+# da kan du markere dem og trykke på <tab> (shift-tab mot venstre)
+'''
+while True:
+    svar = input("krone(k) eller mynt(m): ")
+
+    if svar == 'k' or svar == 'krone':
+        print('krone')  
+    elif svar == 'm' or svar == 'mynt':
+        print('mynt')
+    else:
+        print('feil svar')
+'''
+
+# Oppgave 4
+# Lag to variable, krone og mynt, FØR while-løkken, begge 0.
+# Hvorfor må disse variablene deklareres før løkken og ikke inni?
+# Øk respektive variabel med 1 basert på om det blir krone eller mynt.
+# Hver gang gjennom løkken skal du til slutt skrive ut
+# hvor mange krone og mynt brukeren har skrevet inn til nå.
+
+'''
+krone, mynt = 0,0
+while True:
+    svar = input("krone(k) eller mynt(m): ")
+
+    if svar == 'k' or svar == 'krone':
+        print('krone')
+        krone += 1
+    elif svar == 'm' or svar == 'mynt':
+        print('mynt')
+        mynt += 1
+    else:
+        print('feil svar')
+    print(f'Krone: {krone}, mynt: {mynt}')
+'''
+
+# Oppgave 5: Tell antall ganger du har kastet
+# Hvor må du deklarere denne variabelen for at den skal
+# 'holde seg' hver gang gjennom løkken?
+# Bonuspoeng hvis du skriver ut prosentandel krone hver runde
+'''
+krone = 0
+mynt = 0
+kast = 0
+while True:
+    svar = input("krone(k) eller mynt(m): ")
+
+    if svar == 'k' or svar == 'krone':
+        print('krone')
+        krone += 1
+    elif svar == 'm' or svar == 'mynt':
+        print('mynt')
+        mynt += 1
+    else:
+        print('feil svar')
+    kast += 1
+    print(f'Kast: {kast}, krone: {krone}, mynt: {mynt}')
+    print(f'Prosentandel krone: {(krone/kast)*100:>4.2f}') # Og litt fint formatert
+    # En student postet denne løsningen på forelesning
+    print(f'Prosentandel krone: {(krone/(krone+mynt)):.2%}')
+    # En mye vakrere løsning! Det kule med Python er at det er så mange veier til målet.
+'''
+
+# Oppgave 6: Avslutt etter ti kast!
+# while tester om noe er sant. Er det sant, da kjører den løkken
+# Hvis ikke, da avslutter den løkken og går videre
+# Hvordan kan du endre while-testen så den returnerer sant hvis og bare hvis
+# variabelen kast er ti eller mindre?
+'''
+krone = 0
+mynt = 0
+kast = 0
+while kast < 10: # Vi starter med 0, så da blir ti kast 0 - 9
+    svar = input("krone(k) eller mynt(m): ")
+
+    if svar == 'k' or svar == 'krone':
+        print('krone')
+        krone += 1
+    elif svar == 'm' or svar == 'mynt':
+        print('mynt')
+        mynt += 1
+    else:
+        print('feil svar')
+    kast += 1
+    print(f'Kast: {kast}, krone: {krone}, mynt: {mynt}')
+    print(f'Prosentandel krone: {(krone/kast)*100:>4.2f}') # Og litt fint formatert
+'''
+
+
+# Oppgave 7: Rensk opp
+# Fjern unødvendige utskrifter
+# Endre slik at du skriver ut antall kron, mynt (og prosentandel mynt)
+# etter at alle er skrevet inn
+'''
+krone = 0
+mynt = 0
+kast = 0
+while kast < 10: # Vi starter med 0, så da blir ti kast 0 - 9
+    svar = input("krone(k) eller mynt(m): ")
+
+    if svar == 'k' or svar == 'krone':
+        krone += 1
+    elif svar == 'm' or svar == 'mynt':
+        mynt += 1
+    else:
+        print('feil svar')
+    kast += 1
+print(f'Kast: {kast}, krone: {krone}, mynt: {mynt}')
+print(f'Prosentandel krone: {(krone/kast)*100:>4.2f}') # Og litt fint formatert
+'''
+
+
+
+# Oppgave 8: hvorfor 10 kast?
+# Spør brukeren hvor mange ganger det skal kastes
+# hvordan kan en bruke dette rett i while-testen?
+'''
+krone = 0
+mynt = 0
+kast = int(input("Hvor mange kast?"))
+while kast > 0: # Hvis vi teller nedover med 1 hver gang...
+    svar = input("krone(k) eller mynt(m): ")
+
+    if svar == 'k' or svar == 'krone':
+        krone += 1
+    elif svar == 'm' or svar == 'mynt':
+        mynt += 1
+    else:
+        print('feil svar')
+    kast -= 1
+# Under: Ser du at jeg plutselig ikke kan bruke variabelen kast lenger?
+# Hvorfor ikke? Hva gjør jeg med den over? Men det var en omvei!
+print(f'Kast: {krone+mynt}, krone: {krone}, mynt: {mynt}')
+print(f'Prosentandel krone: {(krone/(krone+mynt))*100:>4.2f}') 
+'''
+
+
+# Oppgave 9: hvorfor bestemme kast først?
+# Det er mye bedre å spørre brukeren om hen skal kaste en
+# gang til.
+
+krone = 0
+mynt = 0
+igjen = True
+svar = input("krone(k) eller mynt(m) (q avslutter): ")
+while svar != 'q':
+    
+    if svar == 'k' or svar == 'krone':
+        krone += 1
+    elif svar == 'm' or svar == 'mynt':
+        mynt += 1
+    else:
+        print('feil svar')
+    svar = input("krone(k) eller mynt(m) (q avslutter): ")
+# Under: her feiler utregningen hvis en aldri kaster. Legger derfor til
+# en liten sjekk for å se om det faktisk ble kastet noe.
+if krone + mynt > 0:
+    print(f'Kast: {krone+mynt}, krone: {krone}, mynt: {mynt}')
+    print(f'Prosentandel krone: {(krone/(krone+mynt))*100:>4.2f}') 
+
+
+
+
diff --git a/uke37/Python/loopy_hashes.py b/uke37/Python/loopy_hashes.py
new file mode 100644
index 0000000000000000000000000000000000000000..d2f7c3a82a061a5ae1d0967f7815d33ce619ae24
--- /dev/null
+++ b/uke37/Python/loopy_hashes.py
@@ -0,0 +1,6 @@
+#coding=utf-8
+# En litt mer grafisk beskrivelse av hvordan en kjører løkker
+
+for i in range(0,20,2):
+    print("x"*i)
+
diff --git "a/uke37/Python/mer/Bartel\303\270kke.py" "b/uke37/Python/mer/Bartel\303\270kke.py"
new file mode 100644
index 0000000000000000000000000000000000000000..67c383b8854f5cd94868fbb2959074604be84ed8
--- /dev/null
+++ "b/uke37/Python/mer/Bartel\303\270kke.py"
@@ -0,0 +1,18 @@
+
+lengde = 0
+antall = 0
+total = 0
+
+while True:
+    lengde = int(input("Hvor lang er barten? (0 avslutter): "))
+    if lengde == 0:
+        print("Snittlengde av",antall,"barter: ",total/antall)
+        break
+    if lengde < 0:
+        print("Legg inn positive bartelengder, du...")
+        continue
+    total += lengde
+    antall += 1
+print("Ferdig med bartemåling!")
+    
+    
\ No newline at end of file
diff --git a/uke37/Python/mer/alder.py b/uke37/Python/mer/alder.py
new file mode 100644
index 0000000000000000000000000000000000000000..c994caf22fd47f33b7f9509ebbf0afb3f362301a
--- /dev/null
+++ b/uke37/Python/mer/alder.py
@@ -0,0 +1,11 @@
+alder = int(input("Hvor gammel er du? "))
+while (alder<0 or alder>120):
+    print("Feil: Alder må være mellom 0 og 120!")
+    alder = int(input("Hvor gammel er du? "))
+
+print("Takk for den din "+str(alder)+"åring!!!")
+# Merk bruken av + i print, den må ha str(tall)
+# alternativt
+print(f"Takk for den din {alder}åring!!!")
+
+
diff --git a/uke37/Python/mer/break_continue.py b/uke37/Python/mer/break_continue.py
new file mode 100644
index 0000000000000000000000000000000000000000..d9b6fd6962423d5ec6750a03f557c8583042d411
--- /dev/null
+++ b/uke37/Python/mer/break_continue.py
@@ -0,0 +1,21 @@
+import random
+
+tall = random.randint(0,100)
+ganger = 0 # Teller hvor mange ganger man gjetter
+
+while True:
+    gjett = int(input("Gjett et tall mellom 0 og 100: "))
+    if not (0 < gjett < 100):
+        print("Tallet må være mellom 0 og 100")
+        continue
+    ganger += 1
+    if tall == gjett:
+        print("Riktig! Forsøk: ",ganger)
+        break
+    elif gjett < tall:
+        print("Høyere")
+    elif gjett > tall:
+        print("Lavere")
+
+
+        
\ No newline at end of file
diff --git a/uke37/Python/mer/gjettespill.py b/uke37/Python/mer/gjettespill.py
new file mode 100644
index 0000000000000000000000000000000000000000..e1d5f8c2955744e9c4c47363c10c907814070c93
--- /dev/null
+++ b/uke37/Python/mer/gjettespill.py
@@ -0,0 +1,13 @@
+import random # Henter inn random-biblioteket
+
+tall = random.randint(1,100) # tall mellom 1 og 100
+gjett = -1
+
+while (tall!=gjett): #så lenge man gjetter feil
+    gjett = int(input("Gjett tall mellom 1 og 100: "))
+    if (gjett>tall):
+        print("Psst: Litt for stort!")
+    elif (gjett<tall):
+        print("Psst: Litt for smått!")
+ 
+print("RIKTIG!!!! Hvordan klarte du det????")
diff --git a/uke37/Python/mer/klokkami.py b/uke37/Python/mer/klokkami.py
new file mode 100644
index 0000000000000000000000000000000000000000..2f529a89c78d17102e3f4f5efdccf16eba2abefd
--- /dev/null
+++ b/uke37/Python/mer/klokkami.py
@@ -0,0 +1,6 @@
+i = 0
+
+while True:
+    i += 1
+    if i % 10000000 == 0:
+        print(i)
\ No newline at end of file
diff --git a/uke37/Python/mer/kort.py b/uke37/Python/mer/kort.py
new file mode 100644
index 0000000000000000000000000000000000000000..802074d316d0394b404b0282f542aeb62351aba0
--- /dev/null
+++ b/uke37/Python/mer/kort.py
@@ -0,0 +1,9 @@
+sum = 0
+
+# Synes du det ser ut som det er unødvendig mange parenteser her? Fjerne den ytterste og se hva som skjer.
+# Men hva skjer da!? Hvorfor kræsjer det ikke, når en forsøke å bruke pluss med True? hva blir 1 + True?
+
+while tall := int(input("Skriv inn neste tall, 0 avslutter: ")) != 0:
+    print(tall)
+    sum = sum + tall
+print(sum)
\ No newline at end of file
diff --git a/uke37/Python/mer/kvadrat.py b/uke37/Python/mer/kvadrat.py
new file mode 100644
index 0000000000000000000000000000000000000000..0734e5eb2beaba0ef1e64488854635289824c228
--- /dev/null
+++ b/uke37/Python/mer/kvadrat.py
@@ -0,0 +1,3 @@
+for x in range(3,31,3):
+    print(x,"\t",x**2)
+
diff --git a/uke37/Python/mer/my_gjette.py b/uke37/Python/mer/my_gjette.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/uke37/Python/mer/summer.py b/uke37/Python/mer/summer.py
new file mode 100644
index 0000000000000000000000000000000000000000..775b903594955d233afbee37f5387363903e7e07
--- /dev/null
+++ b/uke37/Python/mer/summer.py
@@ -0,0 +1,11 @@
+summen = 0
+tall = -1 # Setter variabelen tall til ikke å være lik 0
+print("Programmet summerer tallene du skriver inn")
+print("Avslutt summeringen ved å skrive 0")
+
+while tall!=0:  # Saa lenge tall er ikke lik 0
+    tall = int(input("Skriv inn et tall, avslutt med 0: "))
+    summen = summen + tall
+
+print("Summen av tallene blir",summen)
+
diff --git a/uke37/Python/mer/tid.py b/uke37/Python/mer/tid.py
new file mode 100644
index 0000000000000000000000000000000000000000..ed0ce532c08fd516fd882bde8d71db49eab60a1a
--- /dev/null
+++ b/uke37/Python/mer/tid.py
@@ -0,0 +1,7 @@
+
+for t in range(24):
+    print('ding ding')
+    for m in range(60):
+        for s in range(60):
+                print(f'{t}:\t{m}:\t{s}')
+
diff --git a/uke37/Python/mer/walrus.py b/uke37/Python/mer/walrus.py
new file mode 100644
index 0000000000000000000000000000000000000000..9ea4fa30a572c26001ad027ae0fdbcc3c61b1d2c
--- /dev/null
+++ b/uke37/Python/mer/walrus.py
@@ -0,0 +1,5 @@
+# Dette benytter seg av 'walrus operator'. Noen liker det, andre ikke. Det kan lett bli uoversiktlig,
+# samtidig slipper man å kickstarte en whileløkke før man hopper inn i den.
+
+while alder := int(input("tall: ")) < 100:
+    print("For lavt")
\ No newline at end of file
diff --git a/uke37/TDT4109_uke37_kort_BH.pdf b/uke37/TDT4109_uke37_kort_BH.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..4fae9b2cabfae9c5693f7fa8b6a02471b4a2a09a
Binary files /dev/null and b/uke37/TDT4109_uke37_kort_BH.pdf differ