Python实现全排列的打印


Posted in Python onAugust 18, 2018

本文为大家分享了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 相关文章推荐
Python递归遍历列表及输出的实现方法
May 19 Python
Python制作爬虫采集小说
Oct 25 Python
Python批量修改文本文件内容的方法
Apr 29 Python
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
Jul 02 Python
Python实现矩阵相乘的三种方法小结
Jul 26 Python
django中media媒体路径设置的步骤
Nov 15 Python
Python datetime 格式化 明天,昨天实例
Mar 02 Python
Python如何生成xml文件
Jun 04 Python
JupyterNotebook 输出窗口的显示效果调整实现
Sep 22 Python
python re的findall和finditer的区别详解
Nov 15 Python
拒绝盗图!教你怎么用python给图片加水印
Jun 04 Python
Python面向对象之成员相关知识总结
Jun 24 Python
python递归实现快速排序
Aug 18 #Python
pyqt5的QWebEngineView 使用模板的方法
Aug 18 #Python
python递归全排列实现方法
Aug 18 #Python
python使用PIL给图片添加文字生成海报示例
Aug 17 #Python
Python在for循环中更改list值的方法【推荐】
Aug 17 #Python
Python简单读写Xls格式文档的方法示例
Aug 17 #Python
Python实现的连接mssql数据库操作示例
Aug 17 #Python
You might like
PHP之COOKIE支持详解
2010/09/20 PHP
php的ajax简单实例
2014/02/27 PHP
php中mysql连接和基本操作代码(快速测试使用,简单方便)
2014/04/25 PHP
常用PHP框架功能对照表
2014/10/23 PHP
PHP中常用的字符串格式化函数总结
2014/11/19 PHP
PHP答题类应用接口实例
2015/02/09 PHP
PHP正则匹配操作简单示例【preg_match_all应用】
2017/07/10 PHP
关于jquery append() html时的小问题的解决方法
2010/12/16 Javascript
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
2020/04/04 Javascript
jquery向.ashx文件post中文乱码问题的解决方法
2011/03/28 Javascript
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
2011/07/31 Javascript
JS连接SQL数据库与ACCESS数据库的方法实例
2013/11/21 Javascript
从数据库读取数据后将其输出成html标签的三种方法
2014/10/13 Javascript
jquery ui resize 中border-box的bug修正
2015/04/26 Javascript
JavaScript函数的调用以及参数传递
2015/10/21 Javascript
js实现接收表单的值并将值拼在表单action后面的方法
2015/11/23 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
2016/05/31 Javascript
JavaScript必知必会(六) delete in instanceof
2016/06/08 Javascript
JavaScript基础重点(必看)
2016/07/09 Javascript
Vue中在新窗口打开页面及Vue-router的使用
2018/06/13 Javascript
Node.js Koa2使用JWT进行鉴权的方法示例
2018/08/17 Javascript
layui的表单提交以及验证和修改弹框的实例
2019/09/09 Javascript
[05:08]2014DOTA2国际邀请赛 Hao专访复仇的胜利很爽
2014/07/15 DOTA
[59:48]LGD vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
在Django中创建第一个静态视图
2015/07/15 Python
python数据类型_字符串常用操作(详解)
2017/05/30 Python
Python脚本利用adb进行手机控制的方法
2019/07/08 Python
Python 中判断列表是否为空的方法
2019/11/24 Python
Python netmiko模块的使用
2020/02/14 Python
思想汇报格式
2014/01/05 职场文书
国庆庆典邀请函
2015/02/02 职场文书
国王的演讲观后感
2015/06/03 职场文书
2016元旦晚会主持人开场白和结束语
2015/12/03 职场文书
Python实现8种常用抽样方法
2021/06/27 Python
PyTorch device与cuda.device用法
2022/04/03 Python
《艾尔登法环》发布最新「战技」宣传片
2022/04/03 其他游戏