整体思路
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)
结果