Drop links or images here to add them to the editor.

Een speelkaart heeft een kleur ("Harten", "Schoppen", "Klaveren", "Ruiten") en een waarde (2, 3, 4, 5, 6, 7, 8, 9, 10, "Boer", "Vrouw", "Heer", "Aas"). Implementeer een class Kaart. Zorg ervoor dat twee kaarten gelijk zijn als ze een gelijke waarde hebben, en dat andere vergelijkingen de volgorde van de waardes gebruiken (dus met 2 als laagste waarde en Aas als hoogste waarde). Test de nieuwe class.

Opgave

Definieer een klasse Kaart waarmee speelkaarten kunnen voorgesteld worden. Bij het aanmaken van een kaart (Kaart) moeten twee argumenten doorgegeven worden: i) de kleur (str) van de kaart, die één van de waarden 'Harten', 'Schoppen', 'Klaveren' of 'Ruiten' moet zijn, en ii) de waarde van de kaart, die één van de waarden 2, 3, 4, 5, 6, 7, 8, 9, 10 (int), 'Boer', 'Vrouw', 'Heer' of 'Aas' (str) moet zijn. Als een ongeldige kleur of een ongeldige waarde doorgegeven wordt, dan moet een AssertionError opgeworpen worden met de boodschap ongeldige kaart.

Kaarten (Kaart) moeten minstens de volgende bewerkingen ondersteunen:

Voorbeeld

>>> kaart_1 = Kaart('Harten', 'Aas')
>>> kaart_2 = Kaart('Schoppen', 'Heer')
>>> kaart_3 = Kaart('Klaveren', 'Heer')
>>> kaart_1
Kaart('Harten', 'Aas')
>>> print(kaart_2)
Heer van Schoppen
>>> str(kaart_3)
'Heer van Klaveren'
>>> kaart_1 == kaart_2
False
>>> kaart_2 == kaart_3
True
>>> kaart_1 > kaart_2
True
>>> kaart_2 >= kaart_3
True
>>> kaart_1 < kaart_3
False
>>> sorted([kaart_1, kaart_2, kaart_3])
[Kaart('Schoppen', 'Heer'), Kaart('Klaveren', 'Heer'), Kaart('Harten', 'Aas')]
>>> Kaart('Bomen', 7)
Traceback (most recent call last):
AssertionError: ongeldige kaart