Luhn-controle van ASCII-cijfers
Valideer een synthetische reeks van 2 tot en met 64 ASCII-cijfers met de Luhn-controlesom.
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 == 0Modellen
Stel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen.
Project
Behoud voorloopnullen en test even en oneven lengten, weiger spaties en niet-ASCII-cijfers en beweer geen rekeninggeldigheid.
Controleer vóór het toepassen
Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.
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 == 0Beoordeel validatie zonder de oorspronkelijke tekst te verliezen
Validatiecode heeft twee verantwoordelijkheden die gemakkelijk door elkaar lopen: bepalen welke invoer aanvaardbaar is en beslissen wat die invoer betekent. DigitTally is een AI-programmeeromgeving voor Windows waarin u die verantwoordelijkheden kunt bespreken aan de hand van de bronbestanden in uw project. Breng een synthetisch voorbeeld, het verwachte resultaat en de aanroeper die afgewezen invoer afhandelt mee en vraag het model de huidige grens te inspecteren.
Het Luhn-controlevoorbeeld biedt een gerichte taak met cijferreeksen. Beschrijf vóór een wijzigingsverzoek hoe voorloopnullen behouden moeten blijven en welke tekenset de toepassing accepteert. Vraag hoe de voorgestelde wijziging een onjuist gevormde waarde onderscheidt van een waarde die niet aan de controlesom voldoet. Die uitkomsten gescheiden houden helpt u zowel de omliggende formulier- of importcode als de berekening te beoordelen.
Controleer het voorstel met synthetische testgevallen van verschillende lengtes, inclusief verboden tekens, en voer de relevante projecttests uit. Een controlesomresultaat is bewijs over die berekening, niet over het bestaan van een account. DigitTally maakt verbinding met ondersteunde OpenAI-compatibele of Anthropic-endpoints; configureer waar nodig toegangsgegevens. U kunt een onbeperkt model kiezen als de dienst dat aanbiedt, waarbij providerregels, tools en contextcapaciteit door die verbinding worden bepaald. Beoordeel de code aan de hand van het vastgelegde invoercontract.
Vragen over het valideren van identificaties
Waarom synthetische identificaties gebruiken in het gesprek?
Ze kunnen opmaak- en controlesomgedrag reproduceren zonder echte accountgegevens te delen. Kies testgevallen die de relevante lengte en voorloopnullen behouden en vermeld het verwachte resultaat zodat de assistent de code kan onderzoeken aan de hand van bekende gevallen.
Moeten cijferreeksen eerst naar getallen worden geconverteerd?
Beoordeel of conversie informatie zou verwijderen die de toepassing nodig heeft, zoals voorloopnullen. Het geïllustreerde contract behandelt invoer als tekst. Vraag de assistent dat contract te behouden tijdens de validatie en tot in de foutafhandeling van de aanroeper.
Wat toont een geslaagde controlesom aan?
Alleen dat de waarde voldoet aan de geïmplementeerde controlesomregel. Het verifieert geen accountbestaan, eigendom of toestemming om transacties uit te voeren. Houd die afzonderlijke toepassingsvereisten buiten claims over deze illustratieve validatieroutine.
Welke pariteitsgevallen vereisen testgevallen?
Neem zowel oneven als even ondersteunde lengtes op, naast afgewezen tekens en grenslengtes. Voer die gevallen uit na beoordeling van de voorgestelde wijziging, zodat een andere iteratievolgorde niet stilzwijgend verandert welke posities worden verdubbeld.
DigitTally · Bijgewerkt 2026-10-25