本文为大家分享了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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
继续阅读与本文标签相同的文章
上一篇 :
python递归实现快速排序
-
自从来了阿里云做视频研发,我的生活发生了翻天覆地的变化 | 开发者必读(070期)
2026-05-18栏目: 教程
-
MySQL的4种事务隔离级别你还不清楚吗?
2026-05-18栏目: 教程
-
来了!云栖大会都能看到什么? | 9月25号栖夜读
2026-05-18栏目: 教程
-
阿里0代码开发平台“宜搭”亮相杭州云栖大会,现场观众体验30秒拼搭应用!
2026-05-18栏目: 教程
-
消息推送报表,让你的推送事半功倍!
2026-05-18栏目: 教程
