没有模块的计划检查python

Posted

技术标签:

【中文标题】没有模块的计划检查python【英文标题】:Schedule check python without module 【发布时间】:2021-04-07 14:02:30 【问题描述】:

各位,我正在研究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]

我想添加一个新的时间表,可以是“锻炼”:[2021-04-07 18:00, 2021-04-07 21:00],但当时我已经有了一个时间表。

然后,我想提出一个 ValueError,

有什么最好的方法来检查我当时是否有时间表?

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

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

感谢大家的阅读!

【问题讨论】:

【参考方案1】:

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

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

如果您通过所有已安排的活动而没有发现冲突,则新活动可能会添加到日程中。

【讨论】:

【参考方案2】:

你可以这样做:

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!')

【讨论】:

他们想知道一个新事件的时间是否与任何其他事件重叠。

以上是关于没有模块的计划检查python的主要内容,如果未能解决你的问题,请参考以下文章

如何检查模块是不是安装在 Python 中,如果没有,则将其安装在代码中?

检查python模块是否安装

如何编写一个函数来检查模块列表是不是存在,否则在 Python 中安装模块

Python——检查对象是不是是某个模块中任何类的实例

基本自定义检查 python 模块加载失败

Python:使用 os 模块检查目录是不是存在