Kanonické římské číslice
Zapiš celé číslo od 1 do 3999 jako kanonickou římskou číslici velkými písmeny.
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)| Projekt | Ověř odečítací tvary jako 4 a 900 a odmítni nulu, čísla mimo rozsah a necelé hodnoty. |
|---|---|
| Před použitím zkontrolujte | Porovnejte skutečné chování s očekávaným výsledkem. Pokud kontrola selže, před dalšími změnami zjistěte příčinu. |
| Modely | Nastavte endpoint kompatibilní s OpenAI nebo Anthropic pomocí základní URL a případného API klíče. Otestujte připojení. Lokální server modelu musí běžet; vzdálené nástroje mohou data odesílat samostatně. |
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)Dejte formátovači smluvené chování, na které se volající kód může spolehnout
NumeralHaven nabízí programovací prostředí pro Windows, v němž můžete probírat podrobnosti implementace s připojeným modelem AI. Formátování je vhodným začátkem, protože i malá funkce může nést viditelná pravidla produktu. Před požadavkem na změny popište přijímaný vstup a přesný výstup a přiložte kód zobrazující výsledek uživateli.
Dodaným projektovým příkladem je formátovač římských číslic. Můžete asistenta požádat o kontrolu podporovaného číselného rozsahu a odčítacích zápisů a o vysvětlení, jak má volající kód zpracovávat odmítnuté hodnoty. Cílem je vyvíjet vlastní kód s jasnými očekáváními, nikoli předpokládat, že prostředí poskytuje hotovou službu převodu číslic.
Jakmile je smluvené chování výslovné, prověřte, zda navržená úprava mění zápis výstupu, přijímané typy nebo chování při selhání. Pomocí projektových nástrojů spusťte testovací případy kolem hranic rozsahu a pro reprezentativní odčítací zápisy. Zkontrolujte také okolní cestu zobrazení, aby se neplatná hodnota v rozhraní nezměnila v nevysvětlené prázdné místo nebo zavádějící popisek.
Pro práci s pomocí modelu připojte koncový bod kompatibilní s OpenAI nebo koncový bod Anthropic a v případě potřeby zadejte přihlašovací údaje. Nefiltrovaný model AI je možností, pokud jej daná služba nabízí. Jeho kapacita kontextu, dostupnost nástrojů a omezení odpovědí nadále závisejí na zvoleném serveru a modelu; kontrola zůstává součástí vývojového postupu.
Před změnou formátovače hodnot
Proč do požadavku zahrnout kód volající formátovač?
Volající kód rozhoduje, jak odmítnutá hodnota nebo formátovaný řetězec dorazí do rozhraní. Zahrňte tuto cestu, aby asistent mohl vysvětlit dopad změněné návratové hodnoty či výjimky, nejen interní převod.
Jaké příklady zpřesňují požadavek na formátování?
Dodejte přijímané hodnoty s přesnými očekávanými řetězci i hodnoty, které je nutné odmítnout. U římských číslic zahrňte hranice rozsahu a odčítací zápisy. Tyto testovací případy ukážou konvence výstupu ještě před návrhem implementace.
Má formátovač bez upozornění přijímat číselný text?
Pouze pokud takový převod vyžaduje smluvené chování aplikace. Výslovně uveďte přijímané typy a prověřte, kam patří parsování. Pohodlné přetypování uvnitř formátování může skrýt chybu volajícího kódu nebo změnit způsob předání neplatných hodnot uživateli.
Může jiný model změnit požadovaný výstup formátovače?
Změna připojeného modelu by neměla měnit vaše stanovené požadavky. Při porovnávání návrhů zachovejte stejné testovací případy i pravidla přijetí. Každou úpravu posuzujte podle těchto pravidel, nikoli podle konvence upřednostňované modelem.
NumeralHaven · Aktualizováno 2026-10-25