首页 > 编程 > Python > 正文

Python实现全排列的打印

2020-01-04 14:41:29
字体:
来源:转载
供稿:网友

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

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

下面是Python的实现代码:

#!/usr/bin/env python# -*- coding: <encoding name> -*- '''全排列的demoinput : 3output: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 = 0total = 0numList = [x for x in range(1,n+1)]print '*' * 20for 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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到python教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表