Skip to content
Snippets Groups Projects
Commit d104c836 authored by majidrouhanintnu's avatar majidrouhanintnu
Browse files

upd

parent 9da3fb7b
Branches
Tags
No related merge requests found
...@@ -5,9 +5,11 @@ ...@@ -5,9 +5,11 @@
* Lære i lage lister, kopiere og redigere * Lære i lage lister, kopiere og redigere
* Forstå forskjellen mellom lister og tupler * Forstå forskjellen mellom lister og tupler
* Bruke løkker for å traversere lister * Bruke løkker for å traversere lister
* Jobbe med sets
## Læringsaktiviteter ## Læringsaktiviteter
* [Generelt om lister](generelt_om_lister.ipynb) * [Generelt om lister](generelt_om_lister.ipynb)
* [Lister og løkker](lister_og_lokker.ipynb) * [Lister og løkker](lister_og_lokker.ipynb)
* [Tupler](lister_og_tupler.ipynb) * [Tupler](lister_og_tupler.ipynb)
* [Sets](generelt_om_sets.ipynb)
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="_Oving7.ipynb">Øving 7</a>
</div>
<ul class="nav navbar-nav">
<li><a href="Generelt%20om%20dictionary.ipynb">Generelt om dictionary</a></li>
<li><a href="Innebygde%20funksjoner%20i%20dictionaries.ipynb">Innebygde funksjoner</a></li>
<li><a href="Generelt%20om%20sets.ipynb">Generelt om sets</a></li>
<li class = "active"><a href="Generelt%20om%20filbehandling.ipynb">Generelt om filbehandling</a></li>
<li><a href="Osteviruset.ipynb">Osteviruset</a></li>
<li><a href="Bursdagsdatabasen.ipynb">Bursdagsdatabasen</a></li>
<li><a href="Tallak%20teller%20antall%20tall.ipynb">Tallak teller antall tall</a></li>
<li><a href="Enhetstesting.ipynb">Enhetstesting</a></li>
<li><a href="Tidtaking.ipynb">Tidtaking</a></li>
<li><a href="Moduler.ipynb">Moduler</a></li>
<li><a href="Opptaksgrenser.ipynb">Opptaksgrenser</a></li>
<li><a href="Soke%20i%20tekst.ipynb">Søke i tekst</a></li>
<li><a href="Tre%20paa%20rad.ipynb">Tre på rad</a></li>
</ul>
</div>
</nav>
# Generelt om filbehandling # Generelt om filbehandling
**Læringsmål:** **Læringsmål:**
- Filbehandling - Filbehandling
- Betingelser - Betingelser
- Løkker - Løkker
I denne oppgaven skal vi skrive til en fil og lese fra en fil. I denne oppgaven skal vi skrive til en fil og lese fra en fil.
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
## Generelt om filer ## Generelt om filer
Det kan være lurt å lese dette før du går videre Det kan være lurt å lese dette før du går videre
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
Det er ofte nyttig å kunne lagre data til en fil, eller lese data fra en fil når man skriver et program i Python. De mest brukte funksjonene er for åpning, redigering og lukking av eksterne filer. Det er ofte nyttig å kunne lagre data til en fil, eller lese data fra en fil når man skriver et program i Python. De mest brukte funksjonene er for åpning, redigering og lukking av eksterne filer.
Når du åpner filen må du spesifisere hvordan du skal bruke filen. Det er derfor viktig å åpne filen på riktig måte. Måten dette gjøres på er som inn-parameter i `open()`-funksjonen, noen eksempler er: Når du åpner filen må du spesifisere hvordan du skal bruke filen. Det er derfor viktig å åpne filen på riktig måte. Måten dette gjøres på er som inn-parameter i `open()`-funksjonen, noen eksempler er:
- **'r'** - for lesing av filen (default) - **'r'** - for lesing av filen (default)
- **'w'** - for skriving til filen - **'w'** - for skriving til filen
- **'a'** - for å legge til data (**a**ppend) til den eksisterende filen - **'a'** - for å legge til data (**a**ppend) til den eksisterende filen
I denne oppgaven skal vi bli bedre kjent med hvordan dette fungerer: I denne oppgaven skal vi bli bedre kjent med hvordan dette fungerer:
- For å åpne en fil i Python kan vi skrive: `f = open('filename', Bruksmåte)`. Bruksmåte er enten `'r'`, `'w'` eller `'a'` avhengig av hva hvordan filen skal brukes. - For å åpne en fil i Python kan vi skrive: `f = open('filename', Bruksmåte)`. Bruksmåte er enten `'r'`, `'w'` eller `'a'` avhengig av hva hvordan filen skal brukes.
- For å lese data fra en fil kan vi bruke: `innhold = f.read()` - For å lese data fra en fil kan vi bruke: `innhold = f.read()`
- For å legge til data til en fil kan vi skrive: `f.write(data)` - For å legge til data til en fil kan vi skrive: `f.write(data)`
Filer lukkes på følgende måte: `f.close()` Filer lukkes på følgende måte: `f.close()`
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
### Lesing av fil ### Lesing av fil
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
Eksempelet under viser lesing av en fil. **Kjør koden under og test det ut da vel!** Eksempelet under viser lesing av en fil. **Kjør koden under og test det ut da vel!**
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
# LESING AV FIL # LESING AV FIL
f = open('example_file1.txt','r') #r spesifiserer at man skal lese fra en fil f = open('example_file1.txt','r') #r spesifiserer at man skal lese fra en fil
innhold = f.read() innhold = f.read()
print(innhold) print(innhold)
f.close() f.close()
``` ```
%% Output %% Output
Dette er en eksempelfil. Dette er en eksempelfil.
Her kan man skrive hva man vil. Her kan man skrive hva man vil.
Men helst ikke for mange hatefulle ytringer. Men helst ikke for mange hatefulle ytringer.
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
Når man leser en fil slik som over, må man lagre innholdet i en variabel (her bruker vi `innhold`). **Husk alltid å lukke filen!** Når man leser en fil slik som over, må man lagre innholdet i en variabel (her bruker vi `innhold`). **Husk alltid å lukke filen!**
Den filen som ble lest fra finner dere her: [example_file1.txt](example_file1.txt). Prøv å endre på filen, lagre den med `file -> save` i toppmenyen for så å kjøre kodeblokken over på nytt. Kodeblokken burde da skrive ut det nye innholdet i filen! Den filen som ble lest fra finner dere her: [example_file1.txt](example_file1.txt). Prøv å endre på filen, lagre den med `file -> save` i toppmenyen for så å kjøre kodeblokken over på nytt. Kodeblokken burde da skrive ut det nye innholdet i filen!
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
### Skriving av fil ### Skriving av fil
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
For å skrive til en fil kan man gjøre slik som under. **Kjør koden under og test!** For å skrive til en fil kan man gjøre slik som under. **Kjør koden under og test!**
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
f = open('example_file1.txt','w') #w spesifiserer at filen skal skrives til f = open('example_file1.txt','w') #w spesifiserer at filen skal skrives til
f.write('En hatefull ytring') f.write('En hatefull ytring')
f.close() f.close()
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
Etter at du har kjørt koden over vil du kunne se at innholdet i [example_file1.txt](example_file1.txt) har endret seg. Hvis du vil kan du bytte ut `'w'` over med `'a'` og se hva som da skjer. Etter at du har kjørt koden over vil du kunne se at innholdet i [example_file1.txt](example_file1.txt) har endret seg. Hvis du vil kan du bytte ut `'w'` over med `'a'` og se hva som da skjer.
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
### Context managers ### Context managers
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
Det er generelt foretrukket i python å bruke _context managers_ når man gjør operasjoner som å skrive til og lese fra fil. De tar hånd om lukking av fila når du er ferdig, og passer på å lukke også dersom koden crasher underveis i en operasjon. Da kan vi være trygge på at vi ikke får korrupte filer. Det er generelt foretrukket i python å bruke _context managers_ når man gjør operasjoner som å skrive til og lese fra fil. De tar hånd om lukking av fila når du er ferdig, og passer på å lukke også dersom koden crasher underveis i en operasjon. Da kan vi være trygge på at vi ikke får korrupte filer.
Åpning og lukking av filer med context managere gjøres som følger Åpning og lukking av filer med context managere gjøres som følger
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
with open('example_file.txt', 'w') as writefile: with open('example_file.txt', 'w') as writefile:
writefile.write("En hyggelig kommentar") writefile.write("En hyggelig kommentar")
with open('example_file.txt', 'r') as readfile: with open('example_file.txt', 'r') as readfile:
innhold = readfile.read() innhold = readfile.read()
print(innhold) print(innhold)
``` ```
%% Output %% Output
En hyggelig kommentar En hyggelig kommentar
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
Man kan også åpne og lukke flere filer i gangen Man kan også åpne og lukke flere filer i gangen
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
with open('example_file.txt', 'r') as file_0, open('example_file1.txt', 'r') as file_1: with open('example_file.txt', 'r') as file_0, open('example_file1.txt', 'r') as file_1:
innhold_0 = file_0.read() innhold_0 = file_0.read()
innhold_1 = file_1.read() innhold_1 = file_1.read()
print(innhold_0, innhold_1, sep="\n---\n") print(innhold_0, innhold_1, sep="\n---\n")
``` ```
%% Output %% Output
En hyggelig kommentar En hyggelig kommentar
--- ---
Dette er en eksempelfil. Dette er en eksempelfil.
Her kan man skrive hva man vil. Her kan man skrive hva man vil.
Men helst ikke for mange hatefulle ytringer. Men helst ikke for mange hatefulle ytringer.
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
## a) ## a)
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
Lag en funksjon `write_to_file(data)` som tar inn strengen `data` og legger denne inn i en fil **my_file.txt** Lag en funksjon `write_to_file(data)` som tar inn strengen `data` og legger denne inn i en fil **my_file.txt**
***Skriv din kode i kodeblokken under*** ***Skriv din kode i kodeblokken under***
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
Hvis du lurer om du gjorde riktig kan du kalle funksjonen og sjekke innholdet i filen her: Hvis du lurer om du gjorde riktig kan du kalle funksjonen og sjekke innholdet i filen her:
[my_file.txt](my_file.txt) [my_file.txt](my_file.txt)
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
#### Hint #### Hint
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
Her skal du skrive til fil og derfor benytte deg av Her skal du skrive til fil og derfor benytte deg av
```python ```python
f = open('my_file.txt', 'w') f = open('my_file.txt', 'w')
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
## b) ## b)
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
Lag en funksjon `read_from_file(filename)` som tar inn strengen `filename` med filnavnet og skriver ut innholdet. Lag en funksjon `read_from_file(filename)` som tar inn strengen `filename` med filnavnet og skriver ut innholdet.
***Skriv koden i kodeblokken under*** ***Skriv koden i kodeblokken under***
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
Du kan teste ut funksjonen ved å kalle den med `'my_file.txt'` som argument. Du kan teste ut funksjonen ved å kalle den med `'my_file.txt'` som argument.
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
#### Hint #### Hint
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
Her skal du lese fra fil og må derfor benytte deg av Her skal du lese fra fil og må derfor benytte deg av
```python ```python
f = open('my_file.txt', 'r') f = open('my_file.txt', 'r')
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
## c) ## c)
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
Lag en funksjon `main()` hvor bruker får valget mellom å skrive til fil eller lese fra fil. Funksjonen skal kjøre så lenge brukeren ikke svarer `'done'`. (Se eksempelkjøring) Lag en funksjon `main()` hvor bruker får valget mellom å skrive til fil eller lese fra fil. Funksjonen skal kjøre så lenge brukeren ikke svarer `'done'`. (Se eksempelkjøring)
- Hvis brukeren velger **write** skal du bruke **a)** til å skrive data til **my_file.txt** - Hvis brukeren velger **write** skal du bruke **a)** til å skrive data til **my_file.txt**
- Hvis brukeren velger **read** skal du skrive ut innholdet (dersom det er noe) i **my_file.txt** vha. **b)** - Hvis brukeren velger **read** skal du skrive ut innholdet (dersom det er noe) i **my_file.txt** vha. **b)**
**Eksempel på kjøring:** **Eksempel på kjøring:**
``` ```
Do you want to read or write? write Do you want to read or write? write
What do you want to write to file? hei allan What do you want to write to file? hei allan
hei allan was written to file. hei allan was written to file.
Do you want to read or write? read Do you want to read or write? read
hei allan hei allan
Do you want to read or write? done Do you want to read or write? done
You are done. You are done.
``` ```
***Skriv koden din i kodeblokken under*** ***Skriv koden din i kodeblokken under***
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
``` ```
%% Cell type:markdown id: tags: %% Cell type:markdown id: tags:
Du kan når som helst sjekke innholdet i [my_file.txt](my_file.txt) Du kan når som helst sjekke innholdet i [my_file.txt](my_file.txt)
......
...@@ -9,7 +9,7 @@ paginate: true ...@@ -9,7 +9,7 @@ paginate: true
**Læringsutbytte** **Læringsutbytte**
* * Lære å lese fra og skrive til fil
--- ---
......
%% Cell type:code id: tags: %% Cell type:code id: tags:
``` python ``` python
from IPython.display import Markdown, display from IPython.display import Markdown, display
%run lectures.py lectures.json lectures.md %run lectures.py lectures.json lectures.md
display(Markdown("lectures.md")) display(Markdown("lectures.md"))
``` ```
%% Output
<details><summary style="font-size:200%;cursor: pointer;">LBAS2002 Informatikk: Programmering</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;<a target="_blank" href=https://www.ntnu.no/studier/emner/LBAS2002>Faginnhold og læringsutbytte beskrivelser</a></blockquote>
<details><summary style="font-size:200%;cursor: pointer;">Leksjoner</summary>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;Leksjon 1: Introduksjon, Variabler og Datatyper</summary>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Introduksjon</summary>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;&emsp;Motivasjon (slides)</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;&emsp;<a target="_blank" href=lecture1/notes/slides/introduksjon.pdf>Introduksjon</a></blockquote>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;&emsp;Kilder og referanser</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;&emsp;<a target="_blank" href=lecture1/README.md>Readme</a></blockquote>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;&emsp;Utviklingsmiljø</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;&emsp;<a target="_blank" href=lecture1/notes/codes/intro_til_jupyter.ipynb>Komme i gang med Jupyter Notebook</a></blockquote>
</details>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Variabler og datatyper</summary>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;&emsp;Variabler</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;&emsp;<a target="_blank" href=lecture1/notes/codes/variabler.ipynb>Enkle datatyper</a></blockquote>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;&emsp;Datatyper</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;&emsp;<a target="_blank" href=lecture1/notes/codes/tall_og_typekonvertering.ipynb>Tall og type konvertering</a></blockquote>
</details>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Lab 1</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;<a target="_blank" href=lecture1/lab/lab-1.md>Lab-1</a></blockquote>
</details>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;Leksjon 2: Funksjoner og pakker, logiske uttrykk, valg</summary>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Introduksjon (slides)</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;<a target="_blank" href=lecture2/notes/slides/lecture-2.pdf>Introduksjon</a></blockquote>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Funksjoner</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;<a target="_blank" href=lecture2/notes/codes/funksjoner_og_kalkulasjoner.ipynb>Funksjoner og kalkulasjoner</a></blockquote>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Pakker</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;<a target="_blank" href=lecture2/notes/codes/pakker.ipynb>Pakker og moduler</a></blockquote>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Logiske uttrykk</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;<a target="_blank" href=lecture2/notes/codes/logiske_operatorer_uttrykk.ipynb>Logiske operasjoner</a></blockquote>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Ulike typer if-setninger</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;<a target="_blank" href=lecture2/notes/codes/ulike_typer_if_setninger.ipynb>Ulike typr if-setninger</a></blockquote>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Lab 2</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;<a target="_blank" href=lecture2/lab/lab-2.md>Lab-2</a></blockquote>
</details>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;Leksjon 3: Mer om valg, løkker</summary>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Valg</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;<a target="_blank" href=lecture2/notes/codes/ulike_typer_if_setninger.ipynb>if-setninger</a></blockquote>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Sammenligning</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;<a target="_blank" href=lecture2/notes/codes/sammenligning_av_strenger.ipynb>Sammenligning av strenger</a></blockquote>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Løkker</summary>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;&emsp;Introduksjon til løkker</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;&emsp;lecture3/notes/codes/intro_til_lokker.ipynb</blockquote>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;&emsp;Mer om løkker</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;&emsp;lecture3/notes/codes/mer_om_lokker.ipynb</blockquote>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;&emsp;Nøstede løkker</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;&emsp;lecture3/notes/codes/nostede_lokker.ipynb</blockquote>
</details>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Lab 3</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;<a target="_blank" href=lecture3/lab/lab-3.md>Lab-3</a></blockquote>
</details>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;Leksjon 4: Sammensatte datatyper (lister, tupler, set)</summary>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Sammensatte datatyper</summary>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;&emsp;Lister</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;&emsp;<a target="_blank" href=lecture4/notes/codes/generelt_om_lister.ipynb>Generelt om lister</a></blockquote>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;&emsp;<a target="_blank" href=lecture4/notes/codes/lister_og_lokker.ipynb>Lister og løkker</a></blockquote>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;&emsp;Tupler</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;&emsp;<a target="_blank" href=lecture4/notes/codes/lister_og_tupler.ipynb>Generelt om tupler</a></blockquote>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;&emsp;Set</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;&emsp;<a target="_blank" href=lecture4/notes/codes/lister_og_set.ipynb>Generelt om set</a></blockquote>
</details>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Lab 4</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;<a target="_blank" href=lecture4/lab/lab-4.md>Lab-4</a></blockquote>
</details>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;Leksjon 5: Filbehandling, unntakshåndtering</summary>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Filbehandling</summary>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;&emsp;Lesing fra fil</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;&emsp;</blockquote>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;&emsp;Skriving til fil</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;&emsp;</blockquote>
</details>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Unntakshåndtering</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;</blockquote>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Programmering mot databaser</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;</blockquote>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Lab 5</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;<a target="_blank" href=lecture5/lab/lab-5.md>Lab-5</a></blockquote>
</details>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;Leksjon 6: Introduksjon til objekt orientert programmering</summary>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Object Orientert Programmering</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;Introduksjon</blockquote>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Lab 6</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;<a target="_blank" href=lecture6/lab/lab-6.md>Lab-6</a></blockquote>
</details>
</details>
......
...@@ -71,6 +71,9 @@ ...@@ -71,6 +71,9 @@
</details> </details>
</details> </details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;Leksjon 4: Sammensatte datatyper (lister, tupler, set)</summary> <details><summary style="font-size:200%;cursor: pointer;">&emsp;Leksjon 4: Sammensatte datatyper (lister, tupler, set)</summary>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Introduksjon (slides)</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;<a target="_blank" href=lecture4/notes/slides/lecture-4.pdf>Introduksjon</a></blockquote>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Sammensatte datatyper</summary> <details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Sammensatte datatyper</summary>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;&emsp;Lister</summary> <details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;&emsp;Lister</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;&emsp;<a target="_blank" href=lecture4/notes/codes/generelt_om_lister.ipynb>Generelt om lister</a></blockquote> <blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;&emsp;<a target="_blank" href=lecture4/notes/codes/generelt_om_lister.ipynb>Generelt om lister</a></blockquote>
...@@ -88,6 +91,9 @@ ...@@ -88,6 +91,9 @@
</details> </details>
</details> </details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;Leksjon 5: Filbehandling, unntakshåndtering</summary> <details><summary style="font-size:200%;cursor: pointer;">&emsp;Leksjon 5: Filbehandling, unntakshåndtering</summary>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Introduksjon (slides)</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;<a target="_blank" href=lecture5/notes/slides/lecture-5.pdf>Introduksjon</a></blockquote>
</details>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Filbehandling</summary> <details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;Filbehandling</summary>
<details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;&emsp;Lesing fra fil</summary> <details><summary style="font-size:200%;cursor: pointer;">&emsp;&emsp;&emsp;Lesing fra fil</summary>
<blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;&emsp;</blockquote> <blockquote style="font-size:200%;cursor: pointer;padding: 10px;">&emsp;&emsp;&emsp;&emsp;</blockquote>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment