" won = winnings(correct, extra_correct)- 5 #Må huske å trekke fra prisen på kupongen\n",
" return won"
]
},
{
"cell_type": "markdown",
...
...
@@ -388,7 +438,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.6"
"version": "3.11.2"
},
"toc": {
"base_numbering": 1,
...
...
%% Cell type:markdown id: tags:
# Lotto
**Læringsmål:**
* Lister
* Tilfeldige tall
I denne oppgaven lage du lage en lottosimulator.
Reglene er som følger:
* 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:
Premiergruppe|Premie (kr)
:---|---
7 rette |2 749 455
6 rette + 1 tilleggstall |102 110
6 rette |3 385
5 rette |95
4 rette + 1 tilleggstall |45
%% Cell type:markdown id: tags:
## Oppgave a: frivillig
%% Cell type:markdown id: tags:
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.***
%% Cell type:code id: tags:
``` python
# Svar
numbers=list(range(1,35))
```
%% Cell type:markdown id: tags:
## Oppgave b: frivillig
%% Cell type:markdown id: tags:
Lag en liste som heter `my_guess` med 7 tall. Denne listen inneholder tallene som du tipper.
***Skriv koden din i boksen under.***
%% Cell type:code id: tags:
``` python
# Svar
my_guess=[5,7,27,13,1,2,11]
```
%% Cell type:markdown id: tags:
## Oppgave c: frivillig
%% 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.
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:
```python
>>>print(draw_numbers(numbers,7))
[16,33,5,20,7,4,8]
```
***Skriv koden din i boksen under.***
%% Cell type:code id: tags:
``` python
# Svar
defdraw_numbers(numbers,n):
drawn=[]
importrandom
forxinrange(0,n):
rand_nr=random.randint(0,len(numbers)-1)
drawn.append(numbers[rand_nr])
numbers.pop(rand_nr)
returndrawn
```
%% Cell type:markdown id: tags:
#### Hint
%% 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!
%% Cell type:markdown id: tags:
## Oppgave d: frivillig
%% Cell type:markdown id: tags:
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.
Eksempel på kjøring:
```python
>>>print(winnings(7,1))
2749455
>>>print(winnings(5,2))
95
>>>print(winnings(3,1))
0
```
***Skriv koden din i boksen under.***
%% Cell type:code id: tags:
``` python
# Svar
defwinnings(num,e_num):
if (num==7):
return2749455
elif (num==6ande_num>=1):
return102110
elif (num==6):
return3385
elif (num==5):
return95
elif (num==4ande_num>=1):
return45
else:
return0
```
%% Cell type:markdown id: tags:
## Oppgave f: frivillig
%% 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().
**Husk at du kan bruke alle funksjoner du har definert over!**
***Skriv koden din i boksen under.***
%% Cell type:code id: tags:
``` python
# Svar
defmain():
numbers=list(range(1,35))
my_guess=[5,7,27,13,1,2,11]
winning_list=draw_numbers(numbers,10)
main_nums=winning_list[0:7]
extra_nums=winning_list[7:10]
correct=comp_list(main_nums,my_guess)
extra_correct=comp_list(extra_nums,my_guess)
won=winnings(correct,extra_correct)-5#Må huske å trekke fra prisen på kupongen
returnwon
```
%% Cell type:markdown id: tags:
## Oppgave g: frivillig
Frivillig
%% 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.