DDigitTally
Робоче середовище з ШІ для коду

Перевірка Луна для цифр ASCII

Перевірте синтетичний рядок із 2–64 цифр ASCII за контрольною сумою Луна.

● ● ●DigitTally●
Сценарії · Перевірка Луна для цифр ASCII ×
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 == 0
✳Перевірка Луна для цифр ASCII
✓ ЗміниПеревірте перед застосуванням ↗
Ілюстрація робочого середовища
  1. Моделі

    Налаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані.

  2. Проєкт

    Збережіть початкові нулі та перевірте обидві парності довжини, відхиляючи пробіли й цифри поза ASCII без твердження про чинність рахунку.

  3. Перевірте перед застосуванням

    Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.

Сценарії

Перевірка Луна для цифр ASCII

Сценарії ↗
Сценарії
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 == 0
Робоче середовище з ШІ для коду

Перевіряйте валідацію, не втрачаючи початкового тексту

Код валідації має два обов’язки, які легко сплутати: визначати допустимі дані й вирішувати, що вони означають. DigitTally — середовище програмування з ШІ для Windows, де можна обговорювати ці обов’язки на основі файлів коду проєкту. Надайте синтетичний приклад, очікуваний результат і код виклику, що обробляє відхилені дані, а потім попросіть модель вивчити поточну межу перевірки.

Приклад перевірки за алгоритмом Луна пропонує вузьке завдання для рядків цифр. Перед запитом на правку опишіть, як мають зберігатися початкові нулі та який набір символів приймає застосунок. Запитайте, як запропонована зміна розрізняє некоректний формат і невідповідність контрольній сумі. Розділення цих результатів допомагає перевірити не лише обчислення, а й пов’язаний код форми або імпорту.

Перевірте пропозицію на синтетичних даних різної довжини, зокрема із забороненими символами, та виконайте відповідні тести проєкту. Результат контрольної суми свідчить про це обчислення, а не про існування рахунку. DigitTally підключається до підтримуваних OpenAI-сумісних кінцевих точок або кінцевих точок Anthropic; налаштуйте облікові дані, де потрібно. Можна вибрати модель без обмежень, якщо сервіс її пропонує; правила постачальника, інструменти й місткість контексту визначає це підключення. Оцінюйте код за встановленим контрактом вхідних даних.

Питання щодо перевірки ідентифікаторів

Навіщо використовувати синтетичні ідентифікатори в розмові?

Вони можуть відтворювати форматування й поведінку контрольної суми без передавання реальних реквізитів рахунку. Вибирайте дані, що зберігають потрібну довжину й початкові нулі, та позначайте очікуваний результат, щоб помічник міг перевірити код на відомих випадках.

Чи слід спочатку перетворювати рядки цифр на числа?

З’ясуйте, чи не втратить перетворення потрібну застосунку інформацію, наприклад початкові нулі. Наведений контракт трактує вхідні дані як текст. Попросіть помічника зберегти цей контракт у валідації та в обробці помилок кодом виклику.

Що доводить успішна перевірка контрольної суми?

Лише те, що значення задовольняє реалізоване правило контрольної суми. Вона не підтверджує існування рахунку, володіння ним чи дозвіл на операції. Не включайте ці окремі вимоги застосунку до тверджень про цю ілюстративну процедуру валідації.

Для яких випадків парності потрібні тестові дані?

Додайте підтримувані непарні й парні довжини, заборонені символи та граничні довжини. Виконайте ці випадки після перегляду правки, щоб зміна порядку обходу непомітно не змістила позиції, які подвоюються.

Завантажити для Windows ↗

DigitTally · Оновлено 2026-10-25