LLetterRook
Сценарии

Сценарии работы с кодом · Подсказки для повторяющихся букв

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

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

Оцените догадку из пяти строчных ASCII-букв: 2 означает точное место, 1 другое место и 0 отсутствие. Проверьте повторы после резервирования точных совпадений, отклоняя заглавные буквы, символы вне ASCII и неверную длину.

01

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

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

02

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

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

03

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

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

04

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

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

Подсказки для повторяющихся букв

Конкретная отправная точка
from collections import Counter

def letter_feedback(answer, guess):
    if any(type(s) is not str or len(s) != 5 or any(not "a" <= c <= "z" for c in s) for s in (answer, guess)):
        raise ValueError("word.lowercase")
    marks, remaining = [0] * 5, Counter()
    for i, (a, g) in enumerate(zip(answer, guess)):
        if a == g:
            marks[i] = 2
        else:
            remaining[a] += 1
    for i, g in enumerate(guess):
        if marks[i] != 2 and remaining[g]:
            marks[i] = 1
            remaining[g] -= 1
    return marks

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

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

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

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