分段下载数据

问题背景

有这样的类:
class IdleArc:
    def __init__(self,data):
        self.data=data
实例化弧段类arc1=IdleArc(2),arc2=IdleArc(5),arc3=IdleArc(7),arc4=IdleArc(4),arc5=IdleArc(5)
这些实例化后的弧段按照上面的顺序存放在列表arc_list中,有两个固存值fix1=13,fix2=8,先在弧段中寻找满足首次加和大于13的弧段
然后再继续寻找首次加和大于8的弧段,选择的结果应该是,arc1,arc2,arc3,满足大于13,
arc4,arc5满足大于8,被大于13的用过的弧段不能再继续使用。

class IdleArc:
    def __init__(self, data):
        self.data = data
        self.datasource=None


arc_list = []
arc_list.append(IdleArc(2))
arc_list.append(IdleArc(5))
arc_list.append(IdleArc(7))
arc_list.append(IdleArc(4))
arc_list.append(IdleArc(5))

def storage_find_used_arc(arc_list_calc,data_value,datasourace=None):#,给定固存或者交换机的数据量,给定出数据是固存还是交换机的
    #固存找到使用的弧段
    sum=0
    find_used_arc=[]
    for arc in arc_list_calc:
        sum += arc.data
        arc.datasource = datasourace
        find_used_arc.append(arc)
        if sum >data_value:
            print("数据已经下载完毕")
            break
    return find_used_arc

fix1 = 13
fix2 = 8
result1 = []
result2 = []

copy_arc_list_1=arc_list[:]
result1=storage_find_used_arc(copy_arc_list_1, fix1, datasourace=0)

copy_arc_list_2=[arc for arc in arc_list if arc not in result1 ]
result2= storage_find_used_arc(copy_arc_list_2,fix2,datasourace=1)

a=result1
b=result2
c=2

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值