我尝试使函数返回所有可能的数字列表排列,例如: 列表= [1,2,3]
[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1] ]
但是我一直遇到同样的错误 TypeError:' int'对象不可调用 在这一行
return permutations(result,variable,List,permutations)
其余代码是
def permutationsaux(List):
if List==[]:
return []
else:
return permutations([List],0,List,countpermutations(List))
def permutations(result,variable,List,permutations):
if len(result)==permutations:
return result
elif len(result[variable])==len(List):
result.append([])
variable=variable+1
return permutations(result,variable,List,permutations)
return permutations(result[variable]+reorderlist(List),variable+1,reorderlist(lista),permutations)
def countpermutations(List):
if List==[]:
return 1
return len(List)*countpermutations(List[1:])
def reorderlist(List):
temp=List[len(List)-2]
List[len(List)-2]=LIst[len(List)-1]
List[len(List)-1]=temp
return List
答案 0 :(得分:0)
您的功能"排列"有一个名为" permutations"的参数。猜猜哪一个在函数范围内。