没有模块的计划检查 python

Schedule check python without module

伙计们,我正在努力学习关于python的基本算法。

我现在想弄清楚的是创建时间表。

我想问一个非常基本的问题。我不知道该怎么做。

我的问题是,

假设我有两个时间表,可以是 2021-04-07 19:00 到 2021-04-07 20:00 和 2021-04-08 19:00 到 2021 -04-08 20:00 在我的日程表中(可以是字典或列表)

我想做的是,当我向我的调度程序(列表或 dic)添加新计划时,如果我有计划,我想引发 ValueError。

但是,我不知道如何比较时间表。

我不是为了方便使用模块,我只是在学习基础!

例如,

MySchedule = {'dinner': [2021-04-07 19:00, 2021-04-07 20:00], 'dinner': [2021-04-08 19:00, 2021-04-08 20:00]}

我想添加一个新的时间表,可以是 'exercise': [2021-04-07 18:00, 2021-04-07 21:00], 但我已经有一个届时安排。

然后,我想提出一个 ValueError,

有什么最好的方法可以检查我当时是否有日程安排?

我是否需要将日期和时间更改为 int,并与新的计划时间进行比较?

如果可能的话,任何人都可以给我一个基本的想法:(?

感谢各位阅读!

你可以这样制作:

if MySchedule.get('exercise') is None:
    MySchedule['exercise'] = ['2021-04-07 18:00', '2021-04-07 21:00']
else:
    raise ValueError('the exercise is existed!')

你应该让它成为这样的函数:

def add_schedule(key, val):
    if MySchedule.get(key) is None:
        MySchedule[key] = val
    else:
        raise ValueError(f'the {key} is existed!')

将新事件的开始和结束时间与日程表中每个事件的开始和结束时间进行比较。

如果新活动在预定活动之前开始和结束,或者在预定活动之后开始和结束,则与预定活动没有冲突。否则有冲突。

如果您完成了所有已安排的活动而没有发现冲突,那么新活动可能会添加到日程中。