|
发表于 2018-5-2 14:32:28
|
显示全部楼层
def slice(number):
if number=='':
return 0
else:
return eval(number)
def separate(L):
list1=[]
for i in range(len(L)):
m=L[i]
l=len(str(m))
if m>=0:
for j in range(0,l+1):
list1.append((i,j,abs(sum(L[:i])+slice(str(m)[:j])-slice(str(m)[j:])-sum(L[i+1:]))))
else:
for j in range(2,l+1):
list1.append((i,j,abs(sum(L[:i])+slice(str(m)[:j])-slice(str(m)[j:])-sum(L[i+1:]))))
w,v=sorted(list1,key=lambda number:number[2])[0][:2]
if v==0:
return L[:w],L[w:]
elif v==len(str(L[w])):
return L[:w+1],L[w+1:]
else:
return L[:w]+[slice(str(L[w])[:v])],[slice(str(L[w])[v:])]+L[w+1:]
print(separate([872,4345,-729,0,9988,123456,7171,44,-3]))
|
|