整体思路
1:确定两个列表
2:一个列表是用来存放需要全排列的数
3:另一个列表是用来存放已经排列好的数
4:将上面两个列表不断进行递归
5:最后结果列表里添加的是最后排列好的列表
代码
import math
import copy
# 定义全排列的函数
def permutation(need_perm, Already_perm):
global temp_list
if len(need_perm) == 0:
temp_list.append(Already_perm)
return
for i, element in enumerate(need_perm):
permutation(need_perm[:i]+need_perm[i+1:], Already_perm+[element])
return temp_list
if __name__ == "__main__":
user_input = eval('['+input("请输入需要全排列的数字:")+']')
temp_list = []
permutation(user_input, [])
print(temp_list)