Kanonische römische Zahlen
Formatiere eine Ganzzahl von 1 bis 3999 als kanonische römische Zahl in Großbuchstaben.
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 | Prüfe subtraktive Formen wie 4 und 900 und lehne null, Werte außerhalb des Bereichs und Nichtganzzahlen ab. |
|---|---|
| Vor dem Anwenden prüfen | Vergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen. |
| Modelle | Richten Sie einen OpenAI-kompatiblen oder Anthropic-Endpunkt mit Basis-URL und gegebenenfalls API-Schlüssel ein. Testen Sie die Verbindung. Ein lokaler Modellserver muss laufen; entfernte Werkzeuge können Daten separat übertragen. |
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)Ein Formatierungsvertrag, auf den sich Aufrufer verlassen können
NumeralHaven bietet eine Programmierumgebung für Windows, um Implementierungsdetails mit einem verbundenen KI-Modell zu besprechen. Formatierungsarbeit ist ein guter Einstieg, weil eine kleine Funktion sichtbare Produktregeln tragen kann. Beschreiben Sie die akzeptierte Eingabe und genaue Ausgabe, bevor Sie Änderungen anfordern, und beziehen Sie den Code ein, der das Ergebnis dem Benutzer anzeigt.
Das mitgelieferte Projektbeispiel ist ein Formatierer für römische Zahlen. Sie könnten den Assistenten bitten, seinen unterstützten Zahlenbereich und seine Subtraktionsschreibweisen zu prüfen und anschließend zu erklären, wie Aufrufer abgewiesene Werte behandeln sollten. Ziel ist die Entwicklung Ihres eigenen Codes mit klaren Erwartungen, nicht die Annahme, die Umgebung biete einen fertigen Zahlenkonvertierungsdienst.
Sobald der Vertrag ausdrücklich feststeht, prüfen Sie, ob die vorgeschlagene Änderung die Ausgabeschreibweise, akzeptierte Typen oder das Fehlerverhalten verändert. Führen Sie mit Ihren Projektwerkzeugen Testfälle an den Bereichsgrenzen und für typische Subtraktionsschreibweisen aus. Prüfen Sie auch den umgebenden Anzeigepfad, damit ein ungültiger Wert nicht als unerklärte Leerstelle oder irreführende Beschriftung in der Oberfläche erscheint.
Verbinden Sie für modellgestützte Arbeit einen OpenAI-kompatiblen oder Anthropic-Endpunkt und geben Sie bei Bedarf Zugangsdaten an. Ein ungefiltertes KI-Modell ist eine Option, wenn dieser Dienst es anbietet. Kontextkapazität, verfügbare Werkzeuge und Antwortbeschränkungen bleiben vom gewählten Server und Modell abhängig; die Prüfung bleibt Teil des Entwicklungsablaufs.
Vor Änderungen an einem Werteformatierer
Warum den Aufrufer des Formatierers in die Anfrage aufnehmen?
Der Aufrufer entscheidet, wie ein abgewiesener Wert oder eine formatierte Zeichenfolge die Oberfläche erreicht. Beziehen Sie diesen Pfad ein, damit der Assistent die Auswirkungen eines geänderten Rückgabewerts oder einer Ausnahme erklären kann, nicht nur die interne Konvertierung.
Welche Beispiele machen eine Formatierungsanforderung präzise?
Geben Sie akzeptierte Werte mit den exakt erwarteten Zeichenfolgen sowie Werte an, die abgewiesen werden müssen. Nehmen Sie für die Aufgabe mit römischen Zahlen Bereichsgrenzen und Subtraktionsschreibweisen auf. Diese Testfälle machen Ausgabekonventionen sichtbar, bevor eine Implementierung vorgeschlagen wird.
Soll ein Formatierer numerischen Text stillschweigend akzeptieren?
Nur wenn der Anwendungsvertrag diese Konvertierung verlangt. Benennen Sie akzeptierte Typen ausdrücklich und prüfen Sie, wohin das Parsen gehört. Eine bequeme Typumwandlung innerhalb der Formatierung kann einen Fehler im Aufrufer verbergen oder verändern, wie ungültige Werte den Benutzer erreichen.
Kann ein anderes Modell die erforderliche Ausgabe verändern?
Ein Wechsel des verbundenen Modells sollte Ihre festgelegten Anforderungen nicht ändern. Behalten Sie beim Vergleich von Vorschlägen dieselben Testfälle und Akzeptanzregeln bei. Bewerten Sie jede Änderung anhand dieser Regeln, statt die bevorzugte Konvention eines Modells als maßgeblich anzusehen.
NumeralHaven · Aktualisiert 2026-10-25