2015-05-19 101 views
0

我试图做一个功能的回报所有可能的排列例如用于号码列表:列出 = [1,2,3]类型错误“诠释”

[1,2,3] ,[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]

但是我一直在相同的错误 类型错误:“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

你的函数“permutations”有一个名为“permutations”的参数。猜猜哪个函数在范围内。

+0

谢谢,我想我有点不小心 – vega2015

相关问题