DDigitTally
Сценарии

Сценарии работы с кодом · Проверка Луна для цифр ASCII

03
Вокруг ваших задач

Конкретная отправная точка

Проверьте синтетическую строку из 2–64 цифр ASCII по контрольной сумме Луна. Сохраните ведущие нули и проверьте обе чётности длины, отклоняя пробелы и цифры вне ASCII без утверждения о действительности счёта.

01

Откройте контекст

Выберите папку проекта и обозначьте нужные файлы или поведение.

02

Опишите изменение

Укажите входные данные, ожидаемый результат и границы, которые нужно сохранить.

03

Изучите работу

Проверьте предлагаемые изменения и команды, прежде чем полагаться на результат.

04

Проверьте результат

Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.

Проверка Луна для цифр 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

Пример — отправная точка для реального проекта, а не утверждение, что сгенерированный код уже протестирован. Адаптируйте пути, зависимости и ожидаемое поведение к своему приложению.

Рабочая среда с ИИ для кода

Здесь начинается ваше следующее изменение.

Скачать для Windows ↗