Откройте контекст
Выберите папку проекта и обозначьте нужные файлы или поведение.
Подсчитайте точными целыми числами формы упорядоченных полных двоичных деревьев с 0–100 внутренними узлами. Проверьте единственный лист и известные малые значения, отклоняя логические и выходящие за пределы аргументы без построения всех деревьев.
Выберите папку проекта и обозначьте нужные файлы или поведение.
Укажите входные данные, ожидаемый результат и границы, которые нужно сохранить.
Проверьте предлагаемые изменения и команды, прежде чем полагаться на результат.
Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.
def tree_shapes(internal_nodes):
if type(internal_nodes) is not int or not 0 <= internal_nodes <= 100:
raise ValueError("shapes.nodes")
counts = [1] + [0]*internal_nodes
for size in range(1, internal_nodes+1):
counts[size] = sum(counts[left]*counts[size-1-left] for left in range(size))
return counts[internal_nodes]
Пример — отправная точка для реального проекта, а не утверждение, что сгенерированный код уже протестирован. Адаптируйте пути, зависимости и ожидаемое поведение к своему приложению.