SSpiralJuniper
Środowisko programowania z AI

Spirale siatki zgodne z ruchem wskazówek

Odwiedź współrzędne prostokątnej siatki spiralnie zgodnie z ruchem wskazówek od lewego górnego rogu.

● ● ●SpiralJuniper●
Sposoby pracy · Spirale siatki zgodne z ruchem wskazówek ×
def spiral(rows, columns):
    if any(type(v) is not int or not 0 <= v <= 100
           for v in (rows, columns)):
        raise ValueError("dimension.range")
    top, bottom, left, right = 0, rows - 1, 0, columns - 1
    result = []
    while top <= bottom and left <= right:
        result.extend((top, c) for c in range(left, right + 1))
        top += 1
        result.extend((r, right) for r in range(top, bottom + 1))
        right -= 1
        if top <= bottom:
            result.extend((bottom, c) for c in range(right, left - 1, -1))
            bottom -= 1
        if left <= right:
            result.extend((r, left) for r in range(bottom, top - 1, -1))
            left += 1
    return result
✳Odwiedź współrzędne prostokątnej siatki spiralnie zgodnie z ruchem wskazówek od lewego górnego rogu.
✓ ZmianySprawdź przed zastosowaniem ↗
Ilustracja środowiska
Projekt
Sprawdź zerowe wymiary i pojedyncze wiersze lub kolumny, odrzucając wymiary poza zakresem od zera do 100 i wymagając jednej wizyty na współrzędną.
Sprawdź przed zastosowaniem
Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.
Modele
Dodaj endpoint zgodny z OpenAI lub Anthropic, podając bazowy URL i klucz API, jeśli jest wymagany. Sprawdź połączenie. Lokalny serwer modelu musi działać; zdalne narzędzia mogą przesyłać dane oddzielnie.
Sposoby pracy

Spirale siatki zgodne z ruchem wskazówek

Sposoby pracy ↗
Sposoby pracy
def spiral(rows, columns):
    if any(type(v) is not int or not 0 <= v <= 100
           for v in (rows, columns)):
        raise ValueError("dimension.range")
    top, bottom, left, right = 0, rows - 1, 0, columns - 1
    result = []
    while top <= bottom and left <= right:
        result.extend((top, c) for c in range(left, right + 1))
        top += 1
        result.extend((r, right) for r in range(top, bottom + 1))
        right -= 1
        if top <= bottom:
            result.extend((bottom, c) for c in range(right, left - 1, -1))
            bottom -= 1
        if left <= right:
            result.extend((r, left) for r in range(bottom, top - 1, -1))
            left += 1
    return result
Środowisko programowania z AI

Przejrzyj kontrakt wyjścia przed przepisaniem przejścia

Gdy przejście zasila inny komponent, kolejność wyjścia jest równie ważna jak odwiedzane komórki. SpiralJuniper to środowisko programistyczne AI dla Windows do przeglądu tej zależności z podłączonym modelem. Włącz do rozmowy funkcję przejścia i kod odbierający jej wynik, a następnie opisz zachowanie, które zmiana musi zachować.

Przykładowa prośba może dotyczyć przejścia po siatce zgodnie z ruchem wskazówek zegara, porządkującego komórki podglądu. Poproś asystenta o sprawdzenie obsługi wąskich prostokątów i tego, czy jakaś współrzędna pojawia się dwukrotnie. Podaj krótką oczekiwaną sekwencję, a nie tylko obrazek. Zapewnia to konkretne wymaganie dla poprawki bez zakładania, że środowisko zawiera aplikację do podglądu siatek.

Czytaj proponowane zmiany wraz z kodem odbiorcy. Sprawdź, czy zmieniła się kolejność, konwencja współrzędnych lub obsługa pustej siatki, i uruchom testy projektu dla pojedynczego wiersza, pojedynczej kolumny i prostokąta. Jeśli prostsza implementacja zmienia sekwencję, na której polega interfejs, rozstrzygnij tę decyzję produktową przed jej akceptacją.

SpiralJuniper obsługuje punkty końcowe modeli zgodne z OpenAI lub Anthropic. Wybierz model AI z usuniętymi mechanizmami odmowy, jeśli jest dostępny w usłudze, z jego własnymi ograniczeniami i możliwościami. Zależna od serwera obsługa kontekstu i narzędzi kształtuje rozmowę o kodzie; Twoje dane testowe i przegląd rozstrzygają, czy poprawka pasuje do aplikacji.

Przed zastąpieniem implementacji przejścia

Co powinien pokazywać oczekiwany przypadek testowy przejścia?

Wypisz współrzędne w dokładnej kolejności wymaganej przez odbiorcę, uwzględniając początkowy narożnik i kierunek. Zbiór odwiedzonych komórek nie ujawni błędów kolejności. Zachowaj mały prostokątny przykład możliwy do bezpośredniego przeglądu.

Dlaczego osobno sprawdzać siatki jednowierszowe i jednokolumnowe?

Mogą ujawnić aktualizacje granic powodujące ponowne odwiedziny tych samych komórek lub pominięcie ostatniego odcinka. Uwzględnij oba przypadki w kontrolach projektu wraz z oczekiwanym przez interfejs zachowaniem pustej siatki, zanim zaakceptujesz uogólnioną poprawkę.

Czy zmiana kolejności współrzędnych może zepsuć poza tym poprawny wynik?

Tak. Odbiorca może interpretować pary jako wiersz, potem kolumna, a zamiennik zwracać odwrotnie. Poproś model o prześledzenie użycia par i zachowanie udokumentowanej konwencji, chyba że zadanie jawnie obejmuje jej zmianę.

Czy podgląd wizualny wystarczy do akceptacji kodu?

Użyj go do oceny wyniku widocznego dla użytkownika, ale zachowaj też testy dokładnej sekwencji. Podgląd może ukryć duplikaty lub pominięte współrzędne. Uruchom istniejące kontrole projektu i porównaj propozycję z zapisanym kontraktem przejścia.

Pobierz dla Windows ↗

SpiralJuniper · Zaktualizowano 2026-10-25