def meiju(num,chesslist=range(16),result=[],finalresult=[]):
if num==1:
for x in range(len(chesslist)):
result.append(chesslist[x])
nes=[nest for nest in result]
finalresult.append(nes)
if len(chesslist)==1:
print finalresult #work
return finalresult #don't work
result.pop()
else:
for y in range(len(chesslist)):
result.append(chesslist[y])
meiju(num-1,chesslist[y+1:],result,finalresult)
result.pop()
print meiju(2)
print finalresult
可以正常工作,但下一行return finalresult
无效。
实际上我添加print finalresult
语句进行测试。