RRuleFennec
Сценарии

Сценарии работы с кодом · Шаги клеточного автомата на кольце

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

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

Вычислите один синхронный шаг элементарного клеточного автомата на кольце с числом двоичных клеток от 1 до 256. Проверьте соседей через край и единственную клетку, отклоняя пустой ввод, логические клетки и правила вне диапазона от нуля до 255.

01

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

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

02

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

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

03

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

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

04

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

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

Шаги клеточного автомата на кольце

Конкретная отправная точка
def cellular_step(bits, rule):
    bits = tuple(bits)
    if not 1 <= len(bits) <= 256 or any(type(v) is not int or v not in (0, 1) for v in bits):
        raise ValueError("cells.binary")
    if type(rule) is not int or not 0 <= rule <= 255:
        raise ValueError("rule.byte")
    n = len(bits)
    return [(rule >> (4 * bits[(i - 1) % n] + 2 * bits[i] + bits[(i + 1) % n])) & 1 for i in range(n)]

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

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

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

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