Chiffres romains canoniques
Convertis un entier de 1 à 3999 en chiffres romains canoniques majuscules.
def roman_numeral(n):
if type(n) is not int or not 1 <= n <= 3999:
raise ValueError("roman.range")
values = [(1000,"M"),(900,"CM"),(500,"D"),(400,"CD"),
(100,"C"),(90,"XC"),(50,"L"),(40,"XL"),
(10,"X"),(9,"IX"),(5,"V"),(4,"IV"),(1,"I")]
parts = []
for value, symbol in values:
count, n = divmod(n, value)
parts.append(symbol * count)
return "".join(parts)| Projet | Vérifie les formes soustractives comme 4 et 900, en refusant zéro, les nombres hors intervalle et les valeurs non entières. |
|---|---|
| Vérifiez avant d’appliquer | Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications. |
| Modèles | Configurez un endpoint compatible OpenAI ou Anthropic avec son URL de base et une clé API si nécessaire. Testez la connexion. Un serveur local doit fonctionner ; les outils distants peuvent transmettre des données séparément. |
def roman_numeral(n):
if type(n) is not int or not 1 <= n <= 3999:
raise ValueError("roman.range")
values = [(1000,"M"),(900,"CM"),(500,"D"),(400,"CD"),
(100,"C"),(90,"XC"),(50,"L"),(40,"XL"),
(10,"X"),(9,"IX"),(5,"V"),(4,"IV"),(1,"I")]
parts = []
for value, symbol in values:
count, n = divmod(n, value)
parts.append(symbol * count)
return "".join(parts)Donner au formateur un contrat fiable pour ses appelants
NumeralHaven offre un espace de programmation Windows pour discuter des détails d’implémentation avec un modèle d’IA connecté. Le formatage est un bon point de départ : une petite fonction peut porter des règles visibles du produit. Décrivez les entrées acceptées et la sortie exacte avant de demander des modifications, et incluez le code qui présente le résultat à l’utilisateur.
Le projet fourni prend pour exemple un formateur de chiffres romains. Vous pouvez demander à l’assistant d’examiner sa plage numérique et ses formes soustractives, puis d’expliquer comment les appelants doivent traiter les valeurs rejetées. L’objectif est de développer votre code avec des attentes claires, sans supposer que l’espace fournit un service de conversion numérique prêt à l’emploi.
Une fois le contrat explicite, vérifiez si la modification suggérée change l’écriture de la sortie, les types acceptés ou le comportement d’échec. Exécutez des cas proches des bornes et des formes soustractives représentatives avec les outils du projet. Vérifiez aussi le circuit d’affichage pour qu’une valeur invalide ne devienne pas un blanc inexpliqué ou un libellé trompeur dans l’interface.
Pour travailler avec l’IA, connectez un point de terminaison compatible OpenAI ou Anthropic et fournissez des identifiants si nécessaire. Un modèle d’IA sans filtre est possible si ce service le propose. Sa capacité de contexte, ses outils et ses restrictions de réponse restent propres au serveur et au modèle choisis ; l’examen fait toujours partie du développement.
Avant de modifier un formateur de valeurs
Pourquoi inclure l’appelant du formateur dans la demande ?
L’appelant détermine comment une valeur rejetée ou une chaîne formatée atteint l’interface. Incluez ce circuit pour que l’assistant explique l’effet d’une valeur de retour ou d’une exception modifiée, au-delà de la conversion interne.
Quels exemples rendent une exigence de formatage précise ?
Fournissez des valeurs acceptées et leurs chaînes exactes attendues, ainsi que des valeurs à rejeter. Pour les chiffres romains, incluez les bornes de la plage et les formes soustractives. Ces cas rendent les conventions de sortie visibles avant toute proposition de code.
Un formateur doit-il accepter silencieusement du texte numérique ?
Seulement si le contrat de votre application exige cette conversion. Précisez les types acceptés et examinez où effectuer l’analyse. Une conversion commode dans le formatage peut masquer un bogue de l’appelant ou modifier la présentation des valeurs invalides à l’utilisateur.
Un autre modèle peut-il changer la sortie exigée du formateur ?
Changer de modèle connecté ne devrait pas modifier vos exigences déclarées. Conservez les mêmes cas de test et règles d’acceptation pour comparer les propositions. Évaluez chaque modification selon ces règles plutôt que de considérer la convention préférée d’un modèle comme faisant autorité.
NumeralHaven · Mis à jour 2026-10-25