Herneem de oefening
oefening
Romeinse cijfer - functies.
In de functie waarde staat een lange if-structuur, die je kan
vervangen door het correcte gebruik van een dictionary.
Opdracht
Verwijder de functie waarde en voeg een dictionary toe in de functie
rom2dec.
De functie rom2dec berekent nog steeds de getalwaarde van een Romeins cijfer, die als enige parameter
wordt meegegeven
en geeft deze getalwaarde terug. Er mogen nu ook kleine letters en hoofdletters door elkaar gebruikt worden in het
Romeins cijfer.
Van zodra de parameter een teken bevat dat geen onderdeel kan zijn van een romeins getal
dan werpt de functie een eigen exceptie (type Exception) op met met als foutbericht:
"'{romeins getal}' bevat een fout teken."
Als de parameter enkel geldige tekens bevat, mag je verder wel veronderstellen dat
het ook een geldig Romeins cijfer voorstelt (je hoeft dit niet te
controleren).
Gebruik verplicht een dictionary, zodat je maar een beperkt aantal keer if nodig
hebt. De hulpfunctie is hierdoor overbodig, en laat je dus ook weg.
Voorbeelden
>>> rom2dec("MDXI")
1511
>>> rom2dec("MdXIv")
1514
>>> rom2dec("M897I")
Exception: 'M897I' bevat een fout teken.