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

如何用Python实现任务的近似均等分配?附分桌场景示例

任务均分的Python解决方案

需求明确:把指定数量的任务(比如桌子)近似均分给N个人,规则是:

  • 总任务数能被人数整除时,每人分到相同数量
  • 不能整除时,前「总任务数%人数」个人多分到1个,其余人分基础值(比如35张桌子分给3人,结果是[12,12,11])

你当前代码的问题出在余数处理逻辑:额外生成了新的分配项,导致结果变成基础值加零散的余数项,而非在原有人员的分配额度上增加。

修正后的代码

n = len(ri_ot_curr)
div2 = count2 // n  # 每人基础任务数
rem2 = count2 % n   # 剩余需额外分配的任务数

# 先给前rem2个人分配div2+1个任务
for i in range(rem2):
    person = ri_ot_curr[i]
    c = 0
    for start in range(len(tft)):
        # 修正原代码语法错误(多余的a:)
        if tft.loc[start, 'Release Date'] == f'Release {release_date}':
            tft.loc[start, 'Quant RI - Table'] = person
            tft.loc[start, 'Date'] = date_tft()
            c += 1
            if c == div2 + 1:
                break

# 给剩下的人分配div2个任务
for i in range(rem2, n):
    person = ri_ot_curr[i]
    c = 0
    for start in range(len(tft)):
        if tft.loc[start, 'Release Date'] == f'Release {release_date}':
            tft.loc[start, 'Quant RI - Table'] = person
            tft.loc[start, 'Date'] = date_tft()
            c += 1
            if c == div2:
                break

关键修正点

  1. 拆分循环逻辑:先处理需要多拿1个任务的人员,再处理基础分配的人员,避免生成多余条目
  2. 修复原代码中的语法错误(== 'Release '+str(release_date) a: 多余的a:)
  3. 用f-string简化字符串拼接,提升可读性
  4. 确保每个人员的任务数精准对应,完全符合均分规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 06:05:20