Kontrola Luhna dla cyfr ASCII
Zweryfikuj syntetyczny ciąg od 2 do 64 cyfr ASCII sumą Luhna.
def luhn_valid(text):
if type(text) is not str or not 2 <= len(text) <= 64:
raise ValueError("luhn.length")
if any(char < "0" or char > "9" for char in text):
raise ValueError("luhn.alphabet")
total = 0
for index, char in enumerate(reversed(text)):
digit = ord(char) - ord("0")
if index % 2:
digit *= 2
if digit > 9:
digit -= 9
total += digit
return total % 10 == 0Modele
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.
Projekt
Zachowaj zera wiodące i sprawdź obie parzystości długości, odrzucając spacje i cyfry spoza ASCII bez potwierdzania ważności konta.
Sprawdź przed zastosowaniem
Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.
def luhn_valid(text):
if type(text) is not str or not 2 <= len(text) <= 64:
raise ValueError("luhn.length")
if any(char < "0" or char > "9" for char in text):
raise ValueError("luhn.alphabet")
total = 0
for index, char in enumerate(reversed(text)):
digit = ord(char) - ord("0")
if index % 2:
digit *= 2
if digit > 9:
digit -= 9
total += digit
return total % 10 == 0Przeglądaj walidację bez utraty oryginalnego tekstu
Kod walidacji ma dwa zadania, które łatwo pomylić: określa dopuszczalne dane i rozstrzyga ich znaczenie. DigitTally to środowisko programistyczne AI dla Windows, w którym omówisz te zadania na podstawie plików źródłowych projektu. Dodaj syntetyczny przykład, oczekiwany wynik i kod obsługujący odrzucone dane, a następnie poproś model o analizę obecnej granicy walidacji.
Przykład kontroli Luhna stanowi konkretne zadanie dotyczące ciągów cyfr. Przed zleceniem zmiany opisz sposób zachowania zer wiodących i zestaw znaków akceptowany przez aplikację. Zapytaj, jak proponowana zmiana odróżnia nieprawidłowy format od błędnej sumy kontrolnej. Rozdzielenie tych wyników pomaga przejrzeć otaczający kod formularza lub importu oraz samo obliczenie.
Sprawdź propozycję na syntetycznych danych różnej długości, także z niedozwolonymi znakami, i uruchom odpowiednie testy projektu. Wynik sumy kontrolnej świadczy o tym obliczeniu, a nie o istnieniu konta. DigitTally łączy się z obsługiwanymi punktami końcowymi zgodnymi z OpenAI lub Anthropic; skonfiguruj wymagane uwierzytelnienie. Możesz wybrać model bez ograniczeń, jeśli usługa go oferuje, przy czym zasady dostawcy, narzędzia i pojemność kontekstu określa dane połączenie. Oceniaj kod według ustalonego kontraktu wejścia.
Pytania o pracę nad walidacją identyfikatorów
Dlaczego używać syntetycznych identyfikatorów w rozmowie?
Pozwalają odtworzyć formatowanie i działanie sumy kontrolnej bez udostępniania danych prawdziwych kont. Dobierz dane zachowujące istotną długość i zera wiodące oraz oznacz oczekiwany wynik, aby asystent mógł sprawdzać kod względem znanych przypadków.
Czy ciągi cyfr najpierw konwertować na liczby?
Sprawdź, czy konwersja nie usunie informacji potrzebnych aplikacji, takich jak zera wiodące. Ilustrowany kontrakt traktuje wejście jako tekst. Poproś asystenta o zachowanie tego kontraktu podczas walidacji i w obsłudze błędów przez kod wywołujący.
Co potwierdza poprawna suma kontrolna?
Wyłącznie to, że wartość spełnia zaimplementowaną regułę sumy kontrolnej. Nie potwierdza istnienia konta, jego własności ani uprawnienia do transakcji. Nie przypisuj tych odrębnych wymagań aplikacji przykładowej procedurze walidacji.
Jakie przypadki parzystości wymagają danych testowych?
Uwzględnij obsługiwane długości parzyste i nieparzyste oraz odrzucane znaki i długości graniczne. Uruchom te przypadki po przejrzeniu zmiany, aby zmiana kolejności iteracji nie przesunęła po cichu pozycji podwajanych cyfr.
DigitTally · Zaktualizowano 2026-10-25