用python定义超级简单的函数,但;缺少1个必需的位置参数“;
我放了两个这样的参数,它说缺少一个必需的位置参数。 我提出了3个论点,它说需要2个,但给出了3个 下面的逻辑有什么问题用python定义超级简单的函数,但;缺少1个必需的位置参数“;,python,Python,我放了两个这样的参数,它说缺少一个必需的位置参数。 我提出了3个论点,它说需要2个,但给出了3个 下面的逻辑有什么问题 def mergeSort(alist,sentence): if len(alist)>1: mid = len(alist)//2 lefthalf = alist[:mid] righthalf = alist[mid:] mergeSort(lefthalf) mergeSo
def mergeSort(alist,sentence):
if len(alist)>1:
mid = len(alist)//2
lefthalf = alist[:mid]
righthalf = alist[mid:]
mergeSort(lefthalf)
mergeSort(righthalf)
i=0
j=0
k=0
while i < len(lefthalf) and j < len(righthalf):
if lefthalf[i] < righthalf[j]:
alist[k]=lefthalf[i]
i=i+1
else:
alist[k]=righthalf[j]
j=j+1
k=k+1
while i < len(lefthalf):
alist[k]=lefthalf[i]
i=i+1
k=k+1
while j < len(righthalf):
alist[k]=righthalf[j]
j=j+1
k=k+1
print(sentence)
return alist
a=[7,5,4]
mergeSort(a,'Finished')
def mergeSort(列表,句子):
如果len(alist)>1:
mid=len(alist)//2
lefthalf=alist[:mid]
righthalf=alist[中间:]
合并排序(左半部分)
合并排序(右半部分)
i=0
j=0
k=0
而i
mergeSort
接受两个参数,但在函数体中递归调用它时,只给了它一个参数。
你应该换衣服
mergeSort(lefthalf)
mergeSort(righthalf)
分给
mergeSort(lefthalf, sentence)
mergeSort(righthalf, sentence)
您可以在这里定义mergeSort:
defmergesort(列表,句子):
(2个总参数,一个数组,一个字符串)
您可以在底部正确地调用它:mergeSort(a,'Finished')
(2个总参数,一个数组,一个字符串)
你递归地称之为错误:
mergeSort(lefthalf)
mergeSort(righthalf)
(1个总参数,一个数组,缺少字符串)
相反,可以这样称呼它:
mergeSort(lefthalf, sentence)
mergeSort(righthalf, sentence)
给你:
def mergeSort(alist,sentence):
if len(alist)>1:
mid = len(alist)//2
lefthalf = alist[:mid]
righthalf = alist[mid:]
mergeSort(lefthalf, 'Not finished')
mergeSort(righthalf, 'Not finished')
i=0
j=0
k=0
while i < len(lefthalf) and j < len(righthalf):
if lefthalf[i] < righthalf[j]:
alist[k]=lefthalf[i]
i=i+1
else:
alist[k]=righthalf[j]
j=j+1
k=k+1
while i < len(lefthalf):
alist[k]=lefthalf[i]
i=i+1
k=k+1
while j < len(righthalf):
alist[k]=righthalf[j]
j=j+1
k=k+1
print(sentence)
return alist
a=[7,5,4]
mergeSort(a,'Finished')
def mergeSort(列表,句子):
如果len(alist)>1:
mid=len(alist)//2
lefthalf=alist[:mid]
righthalf=alist[中间:]
合并排序(左半部分,“未完成”)
合并排序(右半部分,“未完成”)
i=0
j=0
k=0
而i
请正确缩进代码,以便准确读取。递归调用只提供一个参数,而不是两个参数。这是一个代码转储,不会试图回答OP的问题“下面的逻辑有什么问题?”我更改了函数,以便它们不会抛出错误:mergeSort(lefthalf,‘not finished’)mergeSort(右半部分,“未完成”)我不知道你的意思。