Откройте контекст
Выберите папку проекта и обозначьте нужные файлы или поведение.
Верните все подходящие дроби цепной дроби из 1–32 целых коэффициентов с модулем до 1000. Проверьте отрицательный первый коэффициент и 3-7-16, отклоняя неположительные последующие коэффициенты и сохраняя точные пары числитель-знаменатель.
Выберите папку проекта и обозначьте нужные файлы или поведение.
Укажите входные данные, ожидаемый результат и границы, которые нужно сохранить.
Проверьте предлагаемые изменения и команды, прежде чем полагаться на результат.
Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.
def convergents(terms):
terms = tuple(terms)
if not 1 <= len(terms) <= 32 or any(type(a) is not int or abs(a) > 1000 for a in terms):
raise ValueError("fraction.terms")
if any(a <= 0 for a in terms[1:]):
raise ValueError("fraction.tail")
p0, p1, q0, q1, out = 0, 1, 1, 0, []
for a in terms:
p, q = a*p1+p0, a*q1+q0
out.append((p, q))
p0, p1, q0, q1 = p1, p, q1, q
return outПример — отправная точка для реального проекта, а не утверждение, что сгенерированный код уже протестирован. Адаптируйте пути, зависимости и ожидаемое поведение к своему приложению.