问题背景
有这样的类:
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