~ / teaching / Python / tps / 1-roman /

TP1 - Chiffres romains

© 2010—2012 - Renaud Blanch

Le but de ce TP est de vous familiariser avec la syntaxe et les structures de contrôle de Python.

Vous allez réaliser deux fonctions qui réalisent respectivement l'encodage et le décodage d'un entier écrit en notation décimale vers sa représentation en chiffres romains.

Pour commencer

Récupérez le squelette du module roman.py. Lisez son code et vérifiez que son exécution conduit bien à l'échec de tous les tests.

% python3 roman.py

...

**********************************************************************
3 items had failures:
   2 of   2 in __main__
   2 of   2 in __main__.decimal
   5 of   5 in __main__.roman
***Test Failed*** 9 failures.

Quel est le plus grand nombre représentable avec M, D, C, L, X, V, I ?
Quel est le plus petit nombre représentable en chiffres romains ?

Conversion

Vérifiez à chaque étape si les tests des fonctions et du module passent.

En vous aidant de la description de la numération romaine, écrivez votre version de la fonction d'encodage roman qui prend en entrée un entier et qui retourne la chaîne de texte contenant la représentation en chiffres romains.

Programmez ensuite la fonction de décodage decimal qui prend en entrée un nombre en chiffres romains et retourne l'entier correspondant.

mise à jour : 15 décembre 2014