Python纯新手,求问大神我哪里错了,死活看不出来

>>> def MergeSort(L):
global ct_global
ct_global=0
if len(L)<2:
return L
L1=L[0: len(L)//2]
L2=L[ len(L)//2 : len(L)]
L1=MergeSort(L1)
L2=MergeSort(L2)
L3=Merge(L1,L2)
print (ct_global)
return L3

>>>
>>> L=[43, 114, 148, 1, 7, 134, 154, 5, 178, 21, 1, 102, 161, 89, 124, 125, 106, 71, 81, 105, 63, 105, 149, 182, 178, 49, 101, 148, 193, 196, 82, 161, 26, 93, 21, 156, 143, 33, 16, 174, 9, 126, 26, 129, 192, 152, 100, 198, 170, 183, 177, 89, 122, 5, 179, 135, 152, 3, 12, 101, 62, 124, 13, 166, 96, 198, 56, 109, 68, 19, 40, 65, 110, 68, 140, 76, 180, 25, 60, 108, 124, 88, 7, 128, 176, 59, 95, 95, 175, 59, 90, 98, 94, 55, 118, 25, 142, 173, 105, 188, 121, 157, 63, 167, 7, 192, 63, 186, 135, 119, 123, 95, 76, 199, 105, 153, 12, 150, 86, 123, 13, 62, 69, 168, 33, 21, 8, 142, 134, 172, 56, 66, 167, 104, 194, 190, 70, 127, 187, 149, 56, 57, 3, 95, 191, 88, 125, 155, 199, 16, 24, 21, 150, 1, 45, 178, 13, 78, 166, 52, 179, 33, 137, 170, 168, 50, 94, 183, 41, 21, 161, 172, 36, 1, 81, 167, 106, 134, 114, 49, 61, 23, 123, 39, 60, 11, 83, 143, 176, 118, 143, 102, 24, 128, 106, 49, 30, 123, 106, 95]
>>> MergeSort(L)
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
MergeSort(L)
File "<pyshell#0>", line 8, in MergeSort
L1=MergeSort(L1)
File "<pyshell#0>", line 8, in MergeSort
L1=MergeSort(L1)
File "<pyshell#0>", line 8, in MergeSort
L1=MergeSort(L1)
[Previous line repeated 2 more times]
File "<pyshell#0>", line 9, in MergeSort
L2=MergeSort(L2)
File "<pyshell#0>", line 10, in MergeSort
L3=Merge(L1,L2)
NameError: name 'Merge' is not defined

退出交互模式,然后安装pandas模块:

pip install pandas

进入交互模式

>>>from pandas import merge
>>>def MergeSort(L):
global ct_global
ct_global=0
if len(L)<2:
return L
L1=L[0: len(L)//2]
L2=L[ len(L)//2 : len(L)]
L1=MergeSort(L1)
L2=MergeSort(L2)
L3=merge(L1,L2)
print (ct_global)
return L3

即把L3=Merge(L1,L2)这一句的Merge改成小写的merge

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-02-19
L3=Merge(L1,L2)

没有定义Merge

第2个回答  2017-02-19
最好用脚本,不要用交互式命令
相似回答