LLogicStitch
Сценарии

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

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

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

Вычислите плоскую последовательность булевых значений с AND и OR, отдавая приоритет AND. Проверьте True OR False AND False и отклоняйте пустой вход, неверное положение операторов, скобки и небулевы операнды без исполнения строк.

01

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

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

02

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

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

03

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

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

04

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

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

Приоритет булевых операций без скобок

Конкретная отправная точка
def evaluate_flat(tokens):
    if not tokens or len(tokens) % 2 == 0:
        raise ValueError("logic.shape")
    if any(type(x) is not bool for x in tokens[::2]):
        raise ValueError("logic.value")
    if any(x not in ("AND", "OR") for x in tokens[1::2]):
        raise ValueError("logic.operator")
    terms, term = [], tokens[0]
    for i in range(1, len(tokens), 2):
        if tokens[i] == "AND":
            term = term and tokens[i + 1]
        else:
            terms.append(term)
            term = tokens[i + 1]
    return any([*terms, term])

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

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

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

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