You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python实现倒班员工上4休4等周期排班功能的问题求助

原代码的问题是每次循环都固定读取周列表的固定索引,没有推进日期偏移,所以每次输出内容完全一致,也没有覆盖完整的4天休息周期。

修改后代码

schedule = ['monday','tuesday','wednesday','thursday','friday','saturday','sunday']
on = 4
off = 4
# 排班总周期
work_cycle = on + off
# 按需调整需要输出的总排班天数,示例设置为12天匹配你给出的输出样例
total_days = 12

for day_idx in range(total_days):
    current_weekday = schedule[day_idx % 7]
    if day_idx % work_cycle < on:
        print(f'on:  {current_weekday}')
    else:
        print(f'off:  {current_weekday}')

核心调整说明

  • 引入全局累加的日期序号day_idx,替代原来固定的周内索引,实现跨周的日期自动推进
  • 通过day_idx % 7匹配对应的星期,自动循环周列表,不需要手动处理周切换逻辑
  • 以8天(4天上班+4天休息)为完整排班周期,通过day_idx % work_cycle判断当前日期的排班状态,实现周期循环
  • 可通过修改total_days的数值,灵活控制需要输出的排班总天数,也可以改成while循环实现无限输出

内容的提问来源于stack exchange,提问作者jpd736

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 08:54:08