SStackSundial
Pracovní prostředí s AI pro kód

Omezená postfixová aritmetika

Vyhodnoťte jeden až 100 postfixových tokenů s omezenými celými čísly a operátory +, -, * a //.

● ● ●StackSundial●
Pracovní postupy · Omezená postfixová aritmetika ×
def postfix_value(tokens):
    tokens = tuple(tokens)
    if not 1 <= len(tokens) <= 100:
        raise ValueError("tokens.limit")
    stack = []
    for token in tokens:
        if type(token) is int and abs(token) <= 1000000000:
            stack.append(token)
            continue
        if type(token) is not str or token not in ("+", "-", "*", "//") or len(stack) < 2:
            raise ValueError("token.invalid")
        right, left = stack.pop(), stack.pop()
        if token == "//" and right == 0:
            raise ValueError("division.zero")
        value = (left + right if token == "+" else left - right if token == "-" else left * right if token == "*" else left // right)
        if abs(value) > 10**18:
            raise ValueError("result.range")
        stack.append(value)
    if len(stack) != 1:
        raise ValueError("stack.remainder")
    return stack[0]
✳Vyhodnoťte jeden až 100 postfixových tokenů s omezenými celými čísly a operátory +, -, * a //.
✓ ZměnyPřed použitím zkontrolujte ↗
Ilustrace pracovního prostředí
Projekt
Ověřte záporné dělení zaokrouhlené dolů a odmítněte dělení nulou, neúplný zásobník či absolutní mezivýsledek nad 10**18.
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ě.
Pracovní postupy

Omezená postfixová aritmetika

Pracovní postupy ↗
Pracovní postupy
def postfix_value(tokens):
    tokens = tuple(tokens)
    if not 1 <= len(tokens) <= 100:
        raise ValueError("tokens.limit")
    stack = []
    for token in tokens:
        if type(token) is int and abs(token) <= 1000000000:
            stack.append(token)
            continue
        if type(token) is not str or token not in ("+", "-", "*", "//") or len(stack) < 2:
            raise ValueError("token.invalid")
        right, left = stack.pop(), stack.pop()
        if token == "//" and right == 0:
            raise ValueError("division.zero")
        value = (left + right if token == "+" else left - right if token == "-" else left * right if token == "*" else left // right)
        if abs(value) > 10**18:
            raise ValueError("result.range")
        stack.append(value)
    if len(stack) != 1:
        raise ValueError("stack.remainder")
    return stack[0]
Pracovní prostředí s AI pro kód

Před změnou parseru určete, co smí výraz dělat

Zpracování výrazů potřebuje jasné hranice, i když je jazyk malý. StackSundial je prostředí pro programování s AI ve Windows, kde lze tyto hranice probírat vedle zdrojových souborů. Otevřete projekt a požádejte připojený model, aby před návrhem změny implementace prověřil přijímané tokeny, pravidla vyhodnocení a zpracování chyb volajícím.

Možnou úlohou je kontrola postfixového vyhodnocovače používaného interní výpočetní obrazovkou. Určete povolené operátory, číselné limity a reakci na chybně utvořené výrazy. Požádejte asistenta o určení míst, kde jsou požadavky vynuceny, a o cílené změny tam, kde chybějí. Rozhovor se tak týká údržby vašeho softwaru místo pouhého generování dalšího vyhodnocovače.

Cestám odmítnutí věnujte stejnou pozornost jako úspěšné aritmetice. Spusťte kontroly projektu pro chybějící operandy, přebytečné výsledky, dělení nulou a hodnoty za povolenými mezemi. Prohlédněte pořadí operandů u nekomutativních operací a ověřte, že volající dostává zamýšlenou chybu. Nepřijímejte kratší vyhodnocovací smyčku, pokud oslabuje okolní kontrakt.

StackSundial podporuje připojení ke koncovým bodům kompatibilním s OpenAI nebo koncovým bodům Anthropic. Kde je dostupný, zvolte abliterovaný model AI s vědomím, že omezení, limity kontextu a nástroje závisejí na vybrané službě. Jeho navržený kód zůstává výchozím bodem pro prohlídku a vlastní ověření, nikoli důkazem připravenosti interpretu.

Před přijetím opravy vyhodnocovače

Která pravidla zahrnout do popisu úlohy?

Uveďte povolené tokeny, typy operandů, číselné meze a chování při chybách. Zahrňte volající kód zobrazující chyby uživatelům. Bez těchto pravidel může návrh správně počítat běžné příklady, ale přijímat výrazy, které měla aplikace odmítat.

Proč výslovně testovat odčítání a dělení?

Jejich výsledky na rozdíl od sčítání v běžných případech závisejí na pořadí operandů. Použijte případy s viditelně odlišnými výsledky při obráceném pořadí. Ověřte konvenci dělení požadovanou projektem i reakci na nulového dělitele.

Mají chybně utvořené výrazy vracet nulu?

Pouze pokud je to výslovný požadavek aplikace. Věrohodná číselná náhradní hodnota může skrýt chybný vstup. Požádejte asistenta o zachování jasné cesty odmítnutí a prověřte, jak volající odlišuje platný nulový výsledek od chyby.

Může samotný limit tokenů omezit vyhodnocování?

Prověřte všechny limity požadované projektem včetně mezivýsledků a přijímané struktury vstupu. Počet tokenů řeší jen jednu část kontraktu. Po každé změně vyhodnocovací smyčky otestujte příslušné cesty odmítnutí.

Stáhnout pro Windows ↗

StackSundial · Aktualizováno 2026-10-25