Bij een dobbelspel gooit een speler met drie dobbelstenen. Daarbij wint de speler
  • 1000 € als het aantal ogen op alle dobbelstenen gelijk is
  • 500 € als het aantal ogen van de drie dobbelstenen een reeks van opeenvolgende natuurlijke getallen vormt
  • 100 € als twee van de dobbelstenen een gelijk aantal ogen hebben
De volgorde van de dobbelstenen is daarbij van geen belang.

Opdracht

In het hoofdprogramma kiest de computer een willekeurig getal (1, 2, 3, 4, 5 of 6) voor elk van de drie dobbelstenen. Schrijf het aantal ogen van de dobbelstenen uit, samen met de winst.
Opmerking: er zijn verschillende juiste methodes om een randomgetal te vragen in Python. Gebruik voor gehele getallen altijd random.randint(a,b), anders zal Dodona je oplossing niet aanvaarden.

Invoer

Niets

Uitvoer

De ogen van de drie dobbelstenen, en op de lijn eronder de winst voor deze worp.

Voorbeelden

>>> main()
4 4 4
1000 
>>> main()
4 5 6
500 
>>> main()
4 4 1
100 
>>> main()
2 4 1
0 

Tutor Dodona

De Tutor zal andere getallen genereren, en is dus niet echt bruikbaar om fouten op te sporen.

Opmerkingen

Je moet het hoofdprogramma toevoegen in de gegeven procedure main().

Tips

Hoe kan de computer een getal kiezen? Gebruik de module random. In de API vind je de methode randint, die je correct aanroept.
Hoe kies je een getal dat enkel 1,2,3,4,5 of 6 kan zijn met de module random? Bovenaan voeg je toe: import random
Gebruik:
a = random.randint(1,6)
Mijn programma werkt perfect in VSCode, maar het wordt niet aanvaard door Dodona. Er zijn verschillende juiste methodes om een randomgetal te vragen in Python. Gebruik voor gehele getallen altijd random.randint(a,b).
Er zijn nu toch wel heel veel situaties. Moet ik die allemaal in aparte if-elif-else verwerken? Neen!! dit wordt spaghetti-code.
Je moet de drie dobbelstenen ordenen, dan heb je veel minder situaties die moeten gecontroleerd worden.
Hoe kan ik drie getallen ordenen? Pseudocode voor het ordenen van drie getallen w1, w2 en w3:
    als  w1 > w2 wissel w1 en w2
    als  w2 > w3 wissel w2 en w3
    als  w1 > w2 wissel w1 en w2  
Na deze drie wissels zal w1 <= w2 <= w3
Hoe wissel ik twee getallen? Dit kan op twee manieren:
  • met een hulpvariabele:
        h = w1
        w1 = w2
        w2 = h
  • met 'tuples' in Python:
        w1, w2 = w2, w1
Hoeveel aparte gevallen mag ik overhouden? 4 is voldoende: één voor elke winst.
Gebruik or / and om voorwaarden aan elkaar te koppelen.
Gebruik eventueel ook haakjes.
In VSCode lukt het prima, maar ik gebruik teveel if/elif bij de controle van Dodona. Gebruik maximum 3 keer if/elif om de dobbelstenen te ordenen, en maximum 3 keer if/elif om de vier situaties te beschrijven (zie vorige tips).