Luhnova kontrola číslic ASCII
Ověř syntetický řetězec 2 až 64 číslic ASCII pomocí Luhnova součtu.
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 == 0Modely
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ě.
Projekt
Zachovej úvodní nuly a ověř sudé i liché délky, odmítni mezery a číslice mimo ASCII a nepotvrzuj tím platnost účtu.
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.
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 == 0Kontrolujte validaci bez ztráty původního textu
Validační kód má dvě snadno zaměnitelné odpovědnosti: definovat přijatelný vstup a rozhodnout, co tento vstup znamená. DigitTally je prostředí pro programování s AI ve Windows, kde můžete tyto odpovědnosti probírat nad zdrojovými soubory projektu. Přineste umělý příklad, očekávaný výsledek a volající kód zpracovávající odmítnutý vstup a požádejte model o prověření současné hranice.
Příklad Luhnovy kontroly nabízí cílený úkol s řetězci číslic. Před požadavkem na úpravu popište, jak zachovat úvodní nuly a jakou znakovou sadu aplikace přijímá. Ptejte se, jak navržená změna rozlišuje nesprávně utvořenou hodnotu od hodnoty s neplatným kontrolním součtem. Oddělení těchto výsledků pomáhá prověřit okolní formulářový či importní kód i samotný výpočet.
Ověřte návrh na umělých testovacích případech různých délek včetně nepovolených znaků a spusťte příslušné projektové testy. Výsledek kontrolního součtu vypovídá o daném výpočtu, nikoli o existenci účtu. DigitTally se připojuje k podporovaným koncovým bodům kompatibilním s OpenAI nebo ke koncovým bodům Anthropic; podle potřeby nastavte přihlašovací údaje. Pokud služba nabízí neomezený model, můžete jej zvolit, přičemž pravidla poskytovatele, nástroje a kapacita kontextu závisejí na tomto připojení. Kód posuzujte podle stanoveného smluveného chování vstupů.
Otázky k validaci identifikátorů
Proč v konverzaci používat umělé identifikátory?
Mohou napodobit formátování a chování kontrolního součtu bez sdílení skutečných údajů o účtech. Vyberte případy zachovávající relevantní délku a úvodní nuly a označte očekávaný výsledek, aby asistent mohl prověřit kód proti známým případům.
Mají se řetězce číslic nejprve převést na čísla?
Prověřte, zda by převod nezahodil informace potřebné pro aplikaci, například úvodní nuly. Ukázkové smluvené chování zachází se vstupem jako s textem. Požádejte asistenta o zachování tohoto chování při validaci i při zpracování chyb volajícím kódem.
Co dokládá platný kontrolní součet?
Dokládá pouze to, že hodnota splňuje implementované pravidlo kontrolního součtu. Neověřuje existenci účtu, vlastnictví ani oprávnění k transakcím. Tyto samostatné požadavky aplikace nezahrnujte do tvrzení o této ukázkové validační rutině.
Jaké případy parity potřebují testovací data?
Zahrňte liché i sudé podporované délky spolu s odmítanými znaky a mezními délkami. Po kontrole navržené úpravy tyto případy spusťte, aby změna pořadí iterace tiše neposunula zdvojnásobované pozice.
DigitTally · Aktualizováno 2026-10-25