Откройте контекст
Выберите папку проекта и обозначьте нужные файлы или поведение.
Верните кратчайшую знаковую разность углов в градусах от минус 180 включительно до 180 исключительно. Проверьте переход через полный оборот и противоположные углы, отклоняя неконечные значения, логические типы и модули больше 1000000000000 до раздельной нормализации.
Выберите папку проекта и обозначьте нужные файлы или поведение.
Укажите входные данные, ожидаемый результат и границы, которые нужно сохранить.
Проверьте предлагаемые изменения и команды, прежде чем полагаться на результат.
Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.
from math import isfinite
def angle_delta(source, target):
for value in (source, target):
if type(value) not in (int, float):
raise ValueError("angle.number")
if abs(value) > 1000000000000 or not isfinite(value):
raise ValueError("angle.range")
source, target = source % 360, target % 360
return (target - source + 180) % 360 - 180Пример — отправная точка для реального проекта, а не утверждение, что сгенерированный код уже протестирован. Адаптируйте пути, зависимости и ожидаемое поведение к своему приложению.