defmerge(left,right):result=[]i,j=0,0whilei
def merge(left,right):
result = []
i,j = 0, 0
while i < len(left) and j < len(right):
if left[i] <= right[j]:
result.append(left[i])
i = i + 1
else:
result.append(right[j])
j = j + 1
while (i < len(left)):
result.append(left[i])
i = i + 1
while (j < len(right)):
result.append(right[j])
j = j + 1
return(result)
def mergsort(L):
print(L)
if len(L) < 2:
print(L[:])
else:
middle = len(L)/2
left = mergsort(L[:int(middle)])
right = mergsort(L[int(middle):])
together = merge(left,right)
print(together)
return(together)
错误信息:
Traceback (most recent call last):
File "", line 1, in
mergsort(M)
File "C:/Python33/bobble sort.py", line 62, in mergsort
left = mergsort(L[:int(middle)])
File "C:/Python33/bobble sort.py", line 62, in mergsort
left = mergsort(L[:int(middle)])
File "C:/Python33/bobble sort.py", line 64, in mergsort
together = merge(left,right)
File "C:/Python33/bobble sort.py", line 39, in merge
while i < len(left) and j < len(right):
TypeError: object of type 'NoneType' has no len()
mergort 有问题 不知道怎么能一直分割 跪求各位解答!
展开