Læringsmål:
- Tilfeldige tall
- FOR-løkker
- While-løkker
- Betingelser
Pensum:
- 3.3 - Input and Output
- 3.7 - User-Defined Functions That Return a Single Value
- 4.1 - The if statement
- 4.2 - The if-else statement
- 4.3 - Nested if-else statements
- 5.1 - The for loop
- 5.3 - While loops
- 5.4 - Loops with Vectors and Matrices
Du skal i denne oppgaven lage en lottosimulator.
Reglene er som følger:
- Det trekkes ut 7 hovedtall + 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:
Premiegruppe | 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 |
a) Lag listen pool
som inneholder alle heltall fra og med 1 til og med 34.
b) Du har lest uttallige medieoppslag om folk som har spilt samme lottorekke i mange år, gjerne bestående av 1,2,3,4,5,6,7
eller lignende. Siden du går på NTNU, vet du at dette ikke er en rasjonell måte å spille lotto på. Du vil derfor lage en funksjon som returnerer en tilfeldig lottorekke. Lag funksjonen getTicket(pool, N)
som returnerer en liste med N
tilfeldige tall trukket fra pool
. Husk at tallene må være unike.
>> getTicket(pool, 7) ans = 28 23 11 33 2 15 13
c) Lag funksjonen compareLists(list1, list2)
som sammenligner to lister med tall. Antall like tall i listene skal returneres. Det trengs ikke å ta stilling til hvorvidt et tall forekommer flere ganger.
>> compareLists([1,2], [2,3,4]) ans = 1
d) Lag funksjonen prizeSize(correctNumbers, correctAdditionalNumbers)
som tar inn antall riktige tall og tilleggstall og returnerer størrelsen på premien som er vunnet.
>> priseSize(0, 3) ans = 0 >> priseSize(4, 1) ans = 45
e) Funksjonene skal settes sammen slik at dette blir en fullverdig lottosimulator for en lottorekke. Tallene som skal trekkes ut, både hoved- og tilleggstallene, kan legges i samme liste. Deretter skal du bruke funksjonene du har laget til å bestemme hvor mye premien blir. Husk at en lottokupong inneholder 10 lottorekker.
Hint: For at lottosimulatoren skal være spennende, kan du bruke funksjonen pause()
.
>> lottoSimulator Din kupong: Rekke 1: 4 8 12 14 30 31 32 Rekke 2: 3 4 7 8 10 18 27 Rekke 3: 15 17 26 27 28 29 31 Rekke 4: 6 8 12 14 24 28 33 Rekke 5: 2 5 10 15 17 26 27 Rekke 6: 2 5 9 11 17 25 29 Rekke 7: 9 20 30 31 32 33 34 Rekke 8: 1 2 3 8 9 25 29 Rekke 9: 1 4 14 16 24 31 32 Rekke 10: 2 7 10 20 24 28 33 Trukne tall: 4 31 23 24 1 25 6 Tilleggstall: 14 19 12 Du har vunnet: 45 kroner
f) Du ønsker å finne ut hvorvidt det er lønnsomt å investere studielånet ditt på å spille Lotto. En lottorekke koster 5,-. Finn ut hvor mye du sitter igjen med dersom du bruker neste utbetaling (7400,-) på lotto.