* Det trekkes ut 7 lottotall og 3 tilleggstall fra og med 1 til og med 34. Alle tallene som trekkes skal være unike.
* Det trekkes ut 7 lottotall og 3 tilleggstall fra og med 1 til og med 34. Alle tallene som trekkes skal være unike.
* Premier deles ut basert på følgende tabell:
* Premier deles ut basert på følgende tabell:
Premiergruppe|Premie (kr)
Premiergruppe|Premie (kr)
:---|---
:---|---
7 rette |2 749 455
7 rette |2 749 455
6 rette + 1 tilleggstall |102 110
6 rette + 1 tilleggstall |102 110
6 rette |3 385
6 rette |3 385
5 rette |95
5 rette |95
4 rette + 1 tilleggstall |45
4 rette + 1 tilleggstall |45
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
## Oppgave a: frivillig
## Oppgave a: frivillig
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Lag en liste som heter `numbers` og som inneholder alle heltall fra og med 1 til og med 34.
Lag en liste som heter `numbers` og som inneholder alle heltall fra og med 1 til og med 34.
***Skriv koden din i boksen under.***
***Skriv koden din i boksen under.***
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
# Svar
# Svar
numbers=list(range(1,35))
numbers=list(range(1,35))
```
```
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
## Oppgave b: frivillig
## Oppgave b: frivillig
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Lag en liste som heter `my_guess` med 7 tall. Denne listen inneholder tallene som du tipper.
Lag en liste som heter `my_guess` med 7 tall. Denne listen inneholder tallene som du tipper.
***Skriv koden din i boksen under.***
***Skriv koden din i boksen under.***
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
# Svar
# Svar
my_guess=[5,7,27,13,1,2,11]
my_guess=[5,7,27,13,1,2,11]
```
```
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
## Oppgave c: frivillig
## Oppgave c: frivillig
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Lag en funksjon som tar inn `n` som argument og som trekker ut `n` tall ut av listen `numbers` og legger de i en egen liste.
Lag en funksjon som tar inn `n` som argument og som trekker ut `n` tall ut av listen `numbers` og legger de i en egen liste.
For å gjøre ting tilfeldig: `import random` og `random.randint(n,N)` gir tilfeldige tall fra og med n til og med N.
For å gjøre ting tilfeldig: `import random` og `random.randint(n,N)` gir tilfeldige tall fra og med n til og med N.
Eksempel på kjøring:
Eksempel på kjøring:
```python
```python
>>>print(draw_numbers(numbers,7))
>>>print(draw_numbers(numbers,7))
[16,33,5,20,7,4,8]
[16,33,5,20,7,4,8]
```
```
***Skriv koden din i boksen under.***
***Skriv koden din i boksen under.***
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
# Svar
# Svar
defdraw_numbers(numbers,n):
defdraw_numbers(numbers,n):
drawn=[]
drawn=[]
importrandom
importrandom
forxinrange(0,n):
forxinrange(0,n):
rand_nr=random.randint(0,len(numbers)-1)
rand_nr=random.randint(0,len(numbers)-1)
drawn.append(numbers[rand_nr])
drawn.append(numbers[rand_nr])
numbers.pop(rand_nr)
numbers.pop(rand_nr)
returndrawn
returndrawn
```
```
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
#### Hint
#### Hint
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Hint: Bruk funksjonene `pop()` og `append()` for å fjerne og legge til elementer i en liste. Husk at pop fjerner et element i en indeks i lista, den fjerner ikke tallet. Så numbers.pop(rand_num) fjerner elementet på indeks rand_num - altså hvis rand_num er 13 fjernes tallet på indeks 13, ikke tallet 13!
Hint: Bruk funksjonene `pop()` og `append()` for å fjerne og legge til elementer i en liste. Husk at pop fjerner et element i en indeks i lista, den fjerner ikke tallet. Så numbers.pop(rand_num) fjerner elementet på indeks rand_num - altså hvis rand_num er 13 fjernes tallet på indeks 13, ikke tallet 13!
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
## Oppgave d: frivillig
## Oppgave d: frivillig
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Lag funksjonen `comp_list` som sammenligner to lister med tall. Antall like tall i listene skal returneres.
Lag funksjonen `comp_list` som sammenligner to lister med tall. Antall like tall i listene skal returneres.
Lag en funksjon som tar inn antall like tall og like tilleggstall, og returnerer premien du har vunnet.
Lag en funksjon som tar inn antall like tall og like tilleggstall, og returnerer premien du har vunnet.
Eksempel på kjøring:
Eksempel på kjøring:
```python
```python
>>>print(winnings(7,1))
>>>print(winnings(7,1))
2749455
2749455
>>>print(winnings(5,2))
>>>print(winnings(5,2))
95
95
>>>print(winnings(3,1))
>>>print(winnings(3,1))
0
0
```
```
***Skriv koden din i boksen under.***
***Skriv koden din i boksen under.***
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
# Svar
# Svar
defwinnings(num,e_num):
defwinnings(num,e_num):
if (num==7):
if (num==7):
return2749455
return2749455
elif (num==6ande_num>=1):
elif (num==6ande_num>=1):
return102110
return102110
elif (num==6):
elif (num==6):
return3385
return3385
elif (num==5):
elif (num==5):
return95
return95
elif (num==4ande_num>=1):
elif (num==4ande_num>=1):
return45
return45
else:
else:
return0
return0
```
```
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
## Oppgave f: frivillig
## Oppgave f: frivillig
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Funksjonene skal settes sammen i main() slik at dette blir en fullverdig lottosimulator (for en lottorekke). Tallene du skal trekke ut (både lottotallene og tilleggstallene) kan legges i samme liste. Funksjonen `comp_list` kan da sammenligne de første 7 tallene, og så de siste 3 tallene, for å finne ut hvor mange like tall du har. main() skal returnere hvor mye du har tjent eller mest sannsynlig tapt på denne lottorekken. Dersom en lottorekke kosten 5 kroner, vil -5 returneres dersom winnings() er 0. Hvis du er heldig og winnings() blir 95 skal 90 returneres fra main().
Funksjonene skal settes sammen i main() slik at dette blir en fullverdig lottosimulator (for en lottorekke). Tallene du skal trekke ut (både lottotallene og tilleggstallene) kan legges i samme liste. Funksjonen `comp_list` kan da sammenligne de første 7 tallene, og så de siste 3 tallene, for å finne ut hvor mange like tall du har. main() skal returnere hvor mye du har tjent eller mest sannsynlig tapt på denne lottorekken. Dersom en lottorekke kosten 5 kroner, vil -5 returneres dersom winnings() er 0. Hvis du er heldig og winnings() blir 95 skal 90 returneres fra main().
**Husk at du kan bruke alle funksjoner du har definert over!**
**Husk at du kan bruke alle funksjoner du har definert over!**
***Skriv koden din i boksen under.***
***Skriv koden din i boksen under.***
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` python
``` python
# Svar
# Svar
defmain():
defmain():
numbers=list(range(1,35))
numbers=list(range(1,35))
my_guess=[5,7,27,13,1,2,11]
my_guess=[5,7,27,13,1,2,11]
winning_list=draw_numbers(numbers,10)
winning_list=draw_numbers(numbers,10)
main_nums=winning_list[0:7]
main_nums=winning_list[0:7]
extra_nums=winning_list[7:10]
extra_nums=winning_list[7:10]
correct=comp_list(main_nums,my_guess)
correct=comp_list(main_nums,my_guess)
extra_correct=comp_list(extra_nums,my_guess)
extra_correct=comp_list(extra_nums,my_guess)
won=winnings(correct,extra_correct)-5#Må huske å trekke fra prisen på kupongen
won=winnings(correct,extra_correct)-5#Må huske å trekke fra prisen på kupongen
returnwon
returnwon
```
```
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
## Oppgave g: frivillig
## Oppgave g: frivillig
Frivillig
Frivillig
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Finn ut hvor mye man har vunnet etter å ha tippet en million ganger. Anta at premiepotten er det samme hver uke, og at en lottorekke koster 5 kroner.
Finn ut hvor mye man har vunnet etter å ha tippet en million ganger. Anta at premiepotten er det samme hver uke, og at en lottorekke koster 5 kroner.