Python 间隔重叠大小
Python中计算间隔重叠大小的最简洁方法是什么Python 间隔重叠大小,python,math,intervals,Python,Math,Intervals,Python中计算间隔重叠大小的最简洁方法是什么 重叠([a,b],[c,d])如果间隔相同,则返回0;如果间隔重叠但不相同,则返回N(其中N为重叠);如果间隔不重叠,则返回None 谢谢 编辑:overlap具有误导性,我指的是间隔不重叠的大小。因此,0表示它们是相同的。这并没有比sjr链接的问题中的公认答案更简洁,但是: def overlap(a,b,c,d): r = 0 if a==c and b==d else min(b,d)-max(a,c) if r>=0
重叠([a,b],[c,d])
如果间隔相同,则返回0;如果间隔重叠但不相同,则返回N(其中N为重叠);如果间隔不重叠,则返回None
谢谢
编辑:
overlap
具有误导性,我指的是间隔不重叠的大小。因此,0表示它们是相同的。这并没有比sjr链接的问题中的公认答案更简洁,但是:
def overlap(a,b,c,d):
r = 0 if a==c and b==d else min(b,d)-max(a,c)
if r>=0: return r
如果间隔相同,则返回0;如果间隔不重叠,则返回None。?如果间隔相同,为什么要返回0?当间隔重叠但不相同时,这似乎与返回N不一致。请给出一个重叠的示例。这将澄清问题。请澄清N是重叠的大小还是非重叠的大小。如果间隔接触,该怎么办,即
重叠([1,2],[2,4])
返回什么?应为相同的间隔返回0,而不是无
。此外,您编写的函数对于任何输入都将返回None
。