首页 > 编程语言 >Python编写排班工具

Python编写排班工具

时间:2023-11-24 19:05:57浏览次数:24  
标签:schedule Python 示例 日期 编写 date 排班

使用Python编写排班小工具:

import datetime

def generate_schedule(start_date, end_date, shifts):
    schedule = {}
    current_date = start_date
    while current_date <= end_date:
        day_of_week = current_date.strftime("%A")
        schedule[current_date] = shifts[day_of_week]
        current_date += datetime.timedelta(days=1)
    return schedule

# 定义每个班次的名称
shifts = {
    "Monday": "Shift A",
    "Tuesday": "Shift B",
    "Wednesday": "Shift C",
    "Thursday": "Shift A",
    "Friday": "Shift B",
    "Saturday": "Shift C",
    "Sunday": "Off"
}

# 定义排班的起始日期和结束日期
start_date = datetime.datetime(2023, 1, 1)
end_date = datetime.datetime(2023, 12, 31)

# 生成排班表
schedule = generate_schedule(start_date, end_date, shifts)

# 打印排班表
for date, shift in schedule.items():
    print(f"{date.strftime('%Y-%m-%d')}: {shift}")

你可以根据实际需求修改班次的名称、起始日期和结束日期。这个示例使用了 Python 的 datetime 模块来处理日期和时间。generate_schedule 函数会根据给定的起始日期、结束日期和班次定义生成一个排班表,并以字典形式返回。

注意,这只是一个简单的示例,实际的排班工具可能需要更复杂的逻辑和功能。你可以根据自己的需求进行扩展和修改。

标签:schedule,Python,示例,日期,编写,date,排班
From: https://blog.51cto.com/u_16161880/8550872

相关文章

  • Python文件锁portalocker模块
    在多进程/多线程的学习后,终于来到了“文件锁”这个概念阶段,文件锁的存在就是由于在多进程/线程操作时会对某个文件进行频繁修改,而导致读取与修改的数据产生不同步。典型场景有以下:进程1对文件A进行写入操作,写入一条记录a,持续时间时20s才能完成这个文件的写入。此时进程2在第......
  • 使用python包os.system执行命令与直接在终端执行命令的区别
     区别:1.使用systemctl命令执行时,即使是以root用户身份执行,也会关注服务的用户组权限。这是因为systemctl在执行服务管理操作时,会检查服务的配置文件中设置的用户和用户组权限,并确保当前用户具有足够的权限来管理服务。2.当你以root用户身份使用os.system执行命令时,它可能会绕......
  • python文字转语音
     pipinstallpygamepipinstallgtts importosimportpygamefromgttsimportgTTStext="你有新的美团外卖订单,请注意查收!"tts=gTTS(text,lang='zh',slow=False,)tts.save("./order.mp3")#os.system("start./order.mp3&quo......
  • python 类直接调用属性和方法
    classMyClass:class_variable="Thisisaclassvariable"@staticmethoddefstatic_method():print("Thisisastaticmethod")@classmethoddefclass_method(cls):print("Thisisaclassmethod......
  • (Python)基于对称点模式(Symmetrized Dot Pattern,SDP)的多元、多通道、多传感器信号融合
    对称点模式(SymmetrizedDotPattern,SDP)算法可将复杂时间序列以散点的形式清晰映射在极坐标图中,可以使原始时域信号通过图形化的方式提高可视化能力。因为极坐标图像的特殊性,多元、多通道、多传感器信号信息可通过SDP方法融合在有限区域中。适用于多元、多通道、多传感器信号的融合......
  • python wps异常处理: 服务启动异常-发生意外
    服务异常:找到单元xlwings._xlwindowsself._xl=COMRetryObjectWrapper(DispatchEx("ket.Application"))#内核不支持,只有was无excel参考:https://blog.csdn.net/oldman_g/article/details/124022289 ---发生意外:路径不完整,保存完整路径 ......
  • 一文彻底看懂Python切片,Python切片理解与操作
    1.什么是切片切片是Python中一种用于操作序列类型(如列表、字符串和元组)的方法。它通过指定起始索引和结束索引来截取出序列的一部分,形成一个新的序列。切片是访问特定范围内的元素,就是一个Area。说个笑话:切片不是切片,而是切片,但是又是切片。大家理解下呢(末尾放出作者自己的理解......
  • python glob
    glob是python自带的一个操作文件的相关模块,用它可以查找符合特定规则的文件路径名。使用该模块查找文件,只需要用到:“*”,“?”,“[]”这三个匹配符;”*”匹配0个或多个字符;”?”匹配单个字符;”[]”匹配指定范围内的字符,如:[0-9]匹配数字。glob.glob:返回所有匹配的文件路径列表......
  • python+playwright 学习-43 Pyinstaller打包生成独立的可执行文件
    前言playwright与Pyinstaller结合使用来创建独立的可执行文件。本地化安装有同学提到说想打成一个exe的独立包,但是执行playwrightinstall会默认把chromium,firefox和webkit三个浏览器安装到系统目录。这样打包的时候就找不到启动的浏览器文件。于是就想到把浏览器文件下......
  • python可视化打包exe
    安装Auto-py-to-exePython环境要大于或等于2.7然后在cmd里面输入pipinstallauto-py-to-exe安装完成之后,我们就可以在cmd输入一下命令启动auto-py-to-exe启动之后可以切换语言为中文,剩下的就看情况操作了......