本文为大家分享了Python实现全排列的打印的代码,供大家参考,具体如下
问题:输入一个数字:3,打印它的全排列组合:123 132 213 231 312 321,并进行统计个数。
下面是Python的实现代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#!/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