鱼C论坛

 找回密码
 立即注册
查看: 869|回复: 7

[已解决]如何计算时差

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

        运行实况:
  1. D:\[exercise]\Python>python x.py
  2. 4
  3. 5

  4. D:\[exercise]\Python>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-26 05:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表