网络编程
位置:首页>> 网络编程>> Python编程>> Python实现全排列的打印

Python实现全排列的打印

作者:enciyetu  发布时间:2021-09-01 04:08:30 

标签:python,全排列,打印

本文为大家分享了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

来源:https://blog.csdn.net/enciyetu/article/details/50976026

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com