In Dartbord - voorbereiding1 werd de ring bepaald waarin een pijl belandt.

Het dartbord is ook verdeeld in sectoren. De getallen langs de rand geven het aantal punten aan voor een pijltje in de desbetreffende sector. De dartscore van een pijl wordt bepaald door de sector en de ring waarin de pijl belandt:

Score voor elke regio in het dartbord (niet op schaal)

Scorenotatie bij darts

Afspraken voor de scorenotatie van één pijl (van binnen naar buiten):

Opdracht

Schrijf de functie dart_score die als enige argument een string meekrijgt met de dartsnotatie en de punten berekent voor die worp. De score wordt altijd als getal teruggegeven.

Houd er rekening mee dat de punten per sector altijd positief zijn, en nooit groter zijn dan \(20\). Indien het argument hier niet aan voldoet, wordt het getal \(-1\) teruggegeven. Andere foute scores worden in een volgende oefening aangepakt.

Voorbeeld (juist)

>>> dart_score("T18")
54
>>> dart_score("11")
11
>>> dart_score("BULL")
50
>>> dart_score("MISS")
0
>>> dart_score("T10")
30
>>> dart_score("D20")
40

Voorbeeld (fout)

Voor de duidelijkheid wordt in dit voorbeeld de reden voor het afkeuren weergegeven in commentaar.

>>> dart_score("99")   # Getal is te groot, kan maximaal 20 zijn of 25
-1                   
>>> dart_score("T100") # Getal is te groot, kan maximaal 20 zijn
-1  
>>> dart_score("-5")   # Getal is negatief
-1