修改供应商数量生成代码,确保总数量等于拆分数量之和
代码修改需求
原代码及功能
原Python代码如下,用于根据最小值、最大值和单位费率筛选出符合数值范围的拆分小数量及对应数值:
def generate_supplier_quantities(total_quantity, total_value, min_value, max_value, unit_rate): num_units = [x for x in range(1, total_quantity + 1) if min_value < x * unit_rate < max_value] num_values = [y * unit_rate for y in num_units] return num_units, num_values
修改要求
需对上述代码进行调整,满足以下两个核心条件:
- 拆分得到的小数量列表
num_units的总和必须等于输入的total_quantity - 每个拆分出的小数值(即
x * unit_rate)必须落在min_value和max_value的区间内
测试用虚拟数据代码
# 示例测试数据 total_quantity = 25 total_value = 1250 min_value = 40 max_value = 80 unit_rate = 5 # 调用修改后的函数 result_units, result_values = generate_supplier_quantities(total_quantity, total_value, min_value, max_value, unit_rate)
对应预期输出
# 示例预期输出(总和为25,每个数值在40-80之间) result_units = [8, 9, 8] # 8+9+8=25 result_values = [40, 45, 40] # 所有值均处于40-80范围内
内容的提问来源于stack exchange,提问作者Gideon Luwagga
相关产品推荐
相关产品推荐

