Python实现全排列的打印

Iris ·
更新时间:2024-09-21
· 713 次阅读

本文为大家分享了Python实现全排列的打印的代码,供大家参考,具体如下

问题:输入一个数字:3,打印它的全排列组合:123 132 213 231 312 321,并进行统计个数。

下面是Python的实现代码:

#!/usr/bin/env python # -*- coding: <encoding name> -*- ''' 全排列的demo input : 3 output:123 132 213 231 312 321 ''' total = 0 def permutationCove(startIndex, n, numList): '''递归实现交换其中的两个。一直循环下去,直至startIndex == n ''' global total if startIndex >= n: total += 1 print numList return for item in range(startIndex, n): numList[startIndex], numList[item] = numList[item], numList[startIndex] permutationCove(startIndex + 1, n, numList ) numList[startIndex], numList[item] = numList[item], numList[startIndex] n = int(raw_input("please input your number:")) startIndex = 0 total = 0 numList = [x for x in range(1,n+1)] print '*' * 20 for item in range(0, n): numList[startIndex], numList[item] = numList[item], numList[startIndex] permutationCove(startIndex + 1, n, numList) numList[startIndex], numList[item] = numList[item], numList[startIndex] print total 您可能感兴趣的文章:python3实现字符串的全排列的方法(无重复字符)python使用递归解决全排列数字示例python常规方法实现数组的全排列python回溯法实现数组全排列输出实例分析python不带重复的全排列代码python非递归全排列实现方法python递归全排列实现方法Python基于回溯法子集树模板解决全排列问题示例Python字符串的全排列算法实例详解



排列 全排列 Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号