Deze oefening sluit aan bij dart_score - voorbereiding.

Double in darts

In de meest gekende variant van Darts (of darten) wordt er in elke beurt gegooid met drie pijltjes. Afhankelijk van de spelvariant is het soms nodig om te beginnen en/of eindigen met een verdubbelde score (double in en/of double out).

Met double wordt bedoeld dat de pijl belandt ofwel in de buitenste ring (double ring) (notatie start altijd met de letter D van double) ofwel in het centrum van het dartbord: de bull’s eye (weergegeven met BULL) wat overeenkomt met 2*25.

De resultaten van één beurt worden bijgehouden in een string, waarbij de behaalde scores gescheiden worden door een komma en een spatie. Een beurt met drie pijltjes wordt bijgehouden als "T18, 11, BULL".

Opdracht

Schrijf drie functies:

Beide functies moeten in staat zijn een beurt te controleren met een willekeurig aantal worpen (minstens 3). Je mag wel veronderstellen dat er enkel correcte scores voorkomen die gescheiden worden door een komma en een spatie.

Voorbeelden

>>> is_double("BULL")
True
>>> is_double("D18")
True
>>> is_double("11")
False
>>> dart_double_out("T18, 11, BULL")
True
>>> dart_double_out("D20, T10, MISS")
False
>>> dart_double_out("D18, T10, D6")
True
>>> dart_double_out("D18, BULL, 20, T10, D6")
True
>>> dart_double_in_out("T18, 11, BULL")
(False, True)
>>> dart_double_in_out("D20, T10, MISS")
(True, False)
>>> dart_double_in_out("5, T10, MISS")
(False, False)
>>> dart_double_in_out("D18, T10, D6")
(True, True)
>>> dart_double_in_out("D18, BULL, 20, T10, D6")
(True, True)