为了账号安全,请及时绑定邮箱和手机立即绑定

检查日历中的时间是否重叠

检查日历中的时间是否重叠

白衣非少年 2021-09-02 16:25:58
我正在编写一个日历/议程程序(在 Python3 中),它接收用户定义的约会并存储它们,但是,我的重叠功能有些困难。理想情况下,我不希望用户能够同时安排两个约会,或者他们交叉,但我无法使我的重叠功能正常工作。它目前允许您为相同/重叠的时间安排多个约会,我不太确定如何解决它。我在下面包含了重叠函数的代码,如果还需要其他任何东西,请告诉我!def overlap(self, other):  if other.start_time < self.start_time < other.end_time:     return False  elif other.start_time < self.end_time < other.end_time:     return False  return True
查看完整描述

2 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

您还可以通过说较晚的持续时间仅在较早的结束后才开始来表示不重叠的持续时间:

def overlap(self, other):
    return self.end_time <= other.start_time or other.end_time <= self.start_time


查看完整回答
反对 回复 2021-09-02
?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

帕特里克是对的,你还需要检查 self 之间是否有其他的开始或结束。


def overlap(self, other):

  if other.start_time < self.start_time < other.end_time:

     return False

  elif other.start_time < self.end_time < other.end_time:

     return False

  elif self.start_time < other.start_time < self.end_time:

     return False

  elif self.start_time < other.end_time < self.end_time:

     return False

  return True


查看完整回答
反对 回复 2021-09-02
  • 2 回答
  • 0 关注
  • 146 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信