Все точки x, которые находятся в [a, b], проверяют:
, если a% 360 <= b% 360: </p>
(x)%360<=b%360 and x%360>=a%360
, если вы обрабатываете в прямом смысле.
в противном случае ваш интервал содержит 0, и вы можете просто проверить.х в [а, б]
поэтому:
def f(x,a,b):
if a%360<=b%360:
return ((x)%360<=b%360 and x%360>=a%360)
else:
return b>=x>=a
делает то, что вам нужно.
>>> f(0,90,-90)
False
>>> f(-180,90,-90)
True
>>> f(4,2,4)
True
>>> f(6,2,4)
False
Я мог бы обратить некоторые вещи ... так что вы можете бытьнужно проверить это снова.