|
|
发表于 2024-12-6 16:29:34
|
显示全部楼层
本楼为最佳答案
本帖最后由 jackz007 于 2024-12-7 20:12 编辑
- def delta(p , * t) :
- e = []
- for a , b in t :
- if a < p : a += 24
- if b < p : b += 24
- for k in range(len(e)) :
- if e[k][0] <= a <= e[k][1] or e[k][0] <= b <= e[k][1] :
- if e[k][0] <= a <= e[k][1] :
- if b > e[k][1] : e[k][1] = b
- else :
- if a < e[k][0] : e[k][0] = a
- break
- else :
- e . append([a , b])
- return sum(map(lambda x : int(x[1] - x[0]) , e))
-
- print(delta(23 , (23.00 , 2.00) , (1.00 , 3.00)))
- print(delta(9 , (9.00 , 10.00) , (15.00 , 17.00) , (9.30 , 12.00)))
复制代码
运行实况:
- D:\[exercise]\Python>python x.py
- 4
- 5
- D:\[exercise]\Python>
复制代码 |
|