Откройте контекст
Выберите папку проекта и обозначьте нужные файлы или поведение.
Перечислите примитивные целочисленные прямоугольные треугольники с гипотенузой до заданного предела от 0 до 500. Проверьте пустой результат и 3-4-5, исключите кратные копии и верните каждую тройку один раз с упорядоченными катетами.
Выберите папку проекта и обозначьте нужные файлы или поведение.
Укажите входные данные, ожидаемый результат и границы, которые нужно сохранить.
Проверьте предлагаемые изменения и команды, прежде чем полагаться на результат.
Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.
from math import gcd
def primitive_triples(limit):
if type(limit) is not int or not 0 <= limit <= 500:
raise ValueError("hypotenuse.limit")
result, m = [], 2
while m * m + 1 <= limit:
for n in range(1, m):
c = m * m + n * n
if c <= limit and (m - n) % 2 and gcd(m, n) == 1:
a, b = sorted((m * m - n * n, 2 * m * n))
result.append((a, b, c))
m += 1
return sorted(result, key=lambda t: (t[2], t[0], t[1]))Пример — отправная точка для реального проекта, а не утверждение, что сгенерированный код уже протестирован. Адаптируйте пути, зависимости и ожидаемое поведение к своему приложению.