马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
求各路大侠指导指导。。。
给出两个列表 ;列表的总和为 10的倍数 如
list1 = [0,0,0,5,5,6,5,4,5]
list2 = [13,5,5,0,2,5,0,0,0]
要求: 把这两个列表分别拆成多个列表且列表的总和为10, 不能改变元素的位置 ;
如:list1 拆成:
[0,0,0,5,5,0,0,0,0] , [0,0,0,0,0,6,4,0,0] , [0,0,0,0,0,0,1,4,5]
list2 拆成:
[10,0,0,0,0,0,0,0,0] , [3,5,2,0,0,0,0,0,0], [0,0,3,0,2,5,0,0,0]
请用代码实现:
def get_res(data):
if sum(data) % 10:
return
print(data)
while sum(data) != 0:
temp = [0] * len(data)
for i in range(len(data)):
if sum(temp) + data[i] >= 10:
temp[i] = 10 - sum(temp)
data[i] -= temp[i]
break
else:
temp[i] = data[i]
data[i] = 0
print('-->', temp)
if __name__ == '__main__':
get_res([0,0,0,5,5,6,5,4,5])
|