Ton ami Yaʻqūb travaille au comptoir de la charcuterie la plus animée de la ville, où il découpe, pèse et emballe les commandes d'une file interminable de clients affamés. Pour que tout avance, chaque client prend un ticket numéroté en arrivant.
Quand vient le moment d'appeler la personne suivante, Yaʻqūb lit son numéro à voix haute, toujours en toutes lettres et en anglais, pour être sûr que tout le monde l'entende clairement.
Étant donné un nombre, ta tâche est de l'écrire en mots anglais, exactement comme ton ami le dirait à voix haute.
Yaʻqūb s'attend à utiliser des nombres allant de 0 à 999 999 999 999.
Exemples :
Il est parfois nécessaire de lever une exception. Quand tu le fais, tu dois toujours inclure un message d'erreur explicite pour indiquer l'origine de l'erreur. Cela rend le code plus lisible et facilite grandement le débogage. Dans les cas où tu sais que l'origine de l'erreur sera d'un certain type, tu peux choisir de lever l'un des types d'erreur intégrés, mais tu dois tout de même inclure un message explicite.
Cet exercice en particulier te demande d'utiliser l'instruction raise pour « lancer » une ValueError si le nombre passé à say() est hors limites. Les tests ne passeront que si tu fais à la fois raise sur l'exception et si tu y joins un message.
Pour lever une ValueError avec un message, écris ce message comme argument du type exception :
# if the number is negative
raise ValueError("input out of range")
# if the number is larger than 999,999,999,999
raise ValueError("input out of range")
Inscris-toi sur Exercism pour apprendre et maîtriser Python avec 17 concepts146 exercices, et un vrai mentorat humain, le tout gratuitement.