Skip to content
Snippets Groups Projects
Verified Commit 4b25aa90 authored by Eirik Lorgen Tanberg's avatar Eirik Lorgen Tanberg
Browse files

Legg til oppgaver for ØF8

parent df5af34a
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id: tags:
# Øvingsforelesning 8 - TDT4110
%% Cell type:markdown id: tags:
## Oppgave 1
%% Cell type:markdown id: tags:
### a)
Lag en funksjon ```create_zero_matrix(dim)``` som tar inn et heltall ```dim``` og som oppretter en kvadratisk tabell (2D-liste) med antall rader og kolonner lik ```dim```.
Tabellen skal kun inneholde 0 i alle elementer, og funksjonen skal returnere tabellen.
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
### b)
Lag en funksjon ```create_identity_matrix(dim)``` som, slik som i **a)**, skal returnere en kvadratisk tabell med dimensjon ```dim``` der alle elementer er 0, bortsett fra at elementer på diagonalen skal være 1.
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Oppgave 2
%% Cell type:markdown id: tags:
Lag en funksjon som tar inn to ord og sjekker om de tre første bokstavene i ordene er like, ikke sensitivt for store/små bokstaver
Returner ```True``` hvis de tre første bokstavene er like, ```False``` ellers
*«Fotball»* og *«fotografi»* skal i dette tilfellet gi True
**Hint:**
* Bruk slicing for å hente ut en substreng med de tre første bokstavene - ```new_str = str[0:3]```
* Bruk ```str.lower()``` for å kun sammenligne små bokstaver
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Oppgave 3
%% Cell type:markdown id: tags:
a) Lag en funksjon som tar inn et ord og en bokstav. Funksjonen skal returnere en liste over alle indeksene man finner bokstaven i ordet
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
b) Lag en funksjon ```contains_vowels(streng)``` som tar inn en streng ```streng``` og som returnerer ```True``` eller ```False``` avhengig om strengen inneholder vokaler eller ikke
Vokaler i det norske alfabet:
a, e, i, o, u, y, æ, ø, å
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Oppgave 4
%% Cell type:markdown id: tags:
Lag funksjonen ```is_angry(word)``` som tar inn en streng word og som returnerer ```True``` hvis alle alfabetiske tegn er store og strengen slutter på ‘!’.
Eksempel på kjøring:
```python
print(is_angry( fin du er!”)) # Printer False
print(is_angry( FIN DU ER!”)) # Printer True
```
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Oppgave 5
%% Cell type:markdown id: tags:
Lag en funksjon som tar inn en liste med strenger og som returnerer en sammensatt streng bestående av strengene i listen som inneholder vokaler
**Hint:**
* Bruk ```contains_vocals(str)``` fra oppgave 3b)
%% Cell type:code id: tags:
``` python
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Oppgave 6
%% Cell type:markdown id: tags:
Lag en funksjon som tar inn en streng og som returnerer en liste med alle ord i strengen
Listen skal kun inneholde ord uten mellomrom, og følgende tegn på starten og slutten av ordene skal fjernes: .,:;?!-_*@+
%% Cell type:code id: tags:
``` python
CHARS_TO_REMOVE = '.,:;?!-_*@+ '
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Eksamensoppgave
*Oppgavene er hentet fra kontinuasjonseksamen august 2020*
### Oppgave 2.1
Lag funksjonen ``home_draw_away`` som har en input-parameter ``matches`` som er en liste som
inneholder informasjon om fotballkamper i siste runde ble hjemmeseier ("H"), uavgjort ("U")
eller borteseier ("B").
Funksjonen skal returnere ei liste med 3 tall, der det første tallet er antallet hjemmeseire, det
andre tallet er antallet uavgjort, og det siste tallet er antallet borteseiere. Funksjonen skal
fungere på lister av ulik lengde, skal fungere for stor og liten bokstav for H, U og B, samt at
den skal ignorere resultat som ikke er H, U, eller B.
%% Cell type:code id: tags:
``` python
matches = ("H", "u", "B", "h", "b", "H", "U", "H", "h", "B", "H", "U", "x", "h", "U")
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Oppgave 2.2
Lag funksjon ``pos_vowels`` som tar inn en parameter ``text`` som er en tekststreng og returnerer
posisjonen til alle norske vokaler i strengen ``text`` som en liste. Funksjonen skal fungere for
vokaler skrevet med stor og liten bokstav.
Eksempel på kjøring av kode:
```python
test = "DettE er et eksempel pÅ lAng liste med vokaler"
pos = pos_vowels(test)
print(pos)
[1, 4, 6, 9, 12, 15, 18, 22, 25, 30, 33, 36, 40, 42, 44]
```
%% Cell type:code id: tags:
``` python
test = "DettE er et eksempel pÅ lAng liste med vokaler"
# Skriv kode her
```
%% Cell type:markdown id: tags:
## Oppgave 2.3
Lag funksjon ``unique`` som har en inn-parameter ``text`` som er en tekststreng.
Funksjonen skal returnere en liste med alle unike ord i teksten skrevet med små bokstaver.
Rekkefølgen ordene i lista har er ikke bestemt. Merk at funksjonen skal returnere kun ord og
tegn som man typisk har i en setning skal fjernes. Man kan anta at tekstrengen starter med en
bokstav, at ordene er adskilt med mellomrom, at man ikke har tegn inne i et ord, og at man
ikke har flere enn et tegn etter hverandre.
Eksempel på kjøring av kode:
```python
test = "Er dette greit, eller er det IKKE greit? Det er greit tror jeg!"
words = unique(test)
print(words)
>>> ["er", "dette", "greit", "eller", "det", "ikke", "tror", "jeg"]
```
%% Cell type:code id: tags:
``` python
test = "Er dette greit, eller er det IKKE greit? Det er greit tror jeg!"
tegn = '.,:;?!-_*@+'
# Skriv kode her
```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment