中易网

PYTHON归并排序,求排错!

答案:2  悬赏:10  
解决时间 2021-11-10 02:38
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 有问题 不知道怎么能一直分割 跪求各位解答!
最佳答案
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[:])
        # Missing the following line
        return L
    else:
        middle = len(L)/2
        left = mergsort(L[:int(middle)])
        right = mergsort(L[int(middle):])
        together = merge(left,right)
        print(together)
        return(together)
全部回答
期待看到有用的回答!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
放浪无羁的意思?成语怎么解释?
黑龙江省学历认证需要哪些材料
我左乳房疼痛,一模就疼里面有个疙瘩
巴福火火辣串串火锅在什么地方啊,我要过去处
一般建筑工程的人员配置
求cdrx4缩略图补丁!
奥赛塑体瑜伽美容生活馆地址在哪,我要去那里
黑白电视机要多少钱,在哪可以买到
A站的漫画如何下载?漫画!!
玉石垫子哪家做的比较好?
第四个月的宝宝怎样进行早教
世纪KTV地址在什么地方,我要处理点事
我是山东烟台开发区户口到香港找亲戚怎样办理
如何做名女强人?
20岁女生用什么牌子的粉底液比较好?
推荐资讯
北京装修队有哪些选择技巧
隔行如隔山的意思?成语怎么解释?
白眼球浑浊怎么改善?
QQ游戏迷你世界怎么打开坐骑物品栏–手机爱问
鞍不离马背,甲不离将身的意思?成语怎么解释
深圳限购令细则有哪些
谁知道河北沧州哪个五金厂比较好啊我想找一个
留中不发的意思?成语怎么解释?
日本鬼子,他奶奶的,怎么能说咱中国是世界上
男性皮肤粗糙毛孔大怎么办
有谁知道为什么喝醉了不能立即洗澡?
温州到明光有动车吗
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?