Откройте контекст
Выберите папку проекта и обозначьте нужные файлы или поведение.
Постройте траекторию Коллатца от положительного целого числа с явными пределами шагов и значения. Проверьте старт с единицы, достижение единицы и превышение обоих пределов, выдавая ошибку без утверждения, что любая последовательность завершится.
Выберите папку проекта и обозначьте нужные файлы или поведение.
Укажите входные данные, ожидаемый результат и границы, которые нужно сохранить.
Проверьте предлагаемые изменения и команды, прежде чем полагаться на результат.
Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.
def collatz(start, max_steps, value_cap):
if any(type(v) is not int for v in (start, max_steps, value_cap)):
raise ValueError("limit.integer")
if not 0 <= max_steps <= 10000 or not 1 <= start <= value_cap <= 10**18:
raise ValueError("limit.range")
result = [start]
for _ in range(max_steps):
if start == 1:
return result
start = start // 2 if start % 2 == 0 else 3 * start + 1
if start > value_cap:
raise ValueError("value.cap")
result.append(start)
if start != 1:
raise ValueError("step.cap")
return resultПример — отправная точка для реального проекта, а не утверждение, что сгенерированный код уже протестирован. Адаптируйте пути, зависимости и ожидаемое поведение к своему приложению.