📅  最后修改于: 2023-12-03 15:40:17.979000             🧑  作者: Mango
本程序旨在帮助用户生成所有有效的送货上门安排总数。
打开终端或命令行工具;
进入程序所在的目录;
输入以下命令启动程序:
python delivery.py
按照提示,依次输入送货次数、送货篮数和每次送货的最大篮数;
程序会输出所有有效的送货安排总数。
# 根据给定的送货次数和送货篮数生成送货安排列表
def generate_deliveries(num_deliveries, num_baskets):
# 生成所有可能的篮子数量
baskets_list = generate_baskets(num_baskets, num_deliveries)
# 生成所有可能的送货安排
deliveries_list = generate_permutations(baskets_list, num_deliveries)
# 返回所有有效的送货安排
return filter_deliveries(deliveries_list, num_baskets)
# 筛选出所有有效的送货安排
def filter_deliveries(deliveries_list, max_baskets):
valid_deliveries = []
# 遍历所有送货安排
for delivery in deliveries_list:
# 判断送货篮子的数量是否超过最大篮数
if sum(delivery) <= max_baskets:
# 判断每个篮子的数量是否为0
if all(x > 0 for x in delivery):
valid_deliveries.append(delivery)
# 返回所有有效的送货安排
return valid_deliveries