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实现的守护进程(Daemon)用法实例
Jun 02 Python
Python函数式编程指南(四):生成器详解
Jun 24 Python
flask中使用蓝图将路由分开写在不同文件实例解析
Jan 19 Python
python:pandas合并csv文件的方法(图书数据集成)
Apr 12 Python
实践Vim配置python开发环境
Jul 02 Python
对python mayavi三维绘图的实现详解
Jan 08 Python
在Pycharm中执行scrapy命令的方法
Jan 16 Python
python如何保证输入键入数字的方法
Aug 23 Python
将pymysql获取到的数据类型是tuple转化为pandas方式
May 15 Python
Python 添加文件注释和函数注释操作
Aug 09 Python
Python Merge函数原理及用法解析
Sep 16 Python
如何基于Python和Flask编写Prometheus监控
Nov 25 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
现磨咖啡骗局!现磨咖啡=新鲜咖啡?现磨咖啡背后的猫腻你不懂!
2019/03/28 冲泡冲煮
IIS+PHP+MySQL+Zend配置 (视频教程)
2006/12/13 PHP
PHP输入流php://input实例讲解
2015/12/22 PHP
PHP实现原比例生成缩略图的方法
2016/02/03 PHP
利用XMLHTTP传递参数在另一页面执行并刷新本页
2006/10/26 Javascript
js获取多个tagname的节点数组
2013/09/22 Javascript
Linux下使用jq友好的打印JSON技巧分享
2014/11/18 Javascript
javascript实现数组内值索引随机化及创建随机数组的方法
2015/08/10 Javascript
Javascript 计算字符串在localStorage中所占字节数
2015/10/21 Javascript
javascript实现uploadify上传格式以及个数限制
2015/11/23 Javascript
js入门之Function函数的使用方法【新手必看】
2016/11/22 Javascript
Node.JS文件系统解析实例详解
2017/05/15 Javascript
angular+ionic返回上一页并刷新页面
2017/08/08 Javascript
vue element-ui读取pdf文件的方法
2019/11/26 Javascript
node.js +mongdb实现登录功能
2020/06/18 Javascript
JS异步宏队列与微队列原理区别详解
2020/07/02 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
[01:32]2016国际邀请赛中国区预选赛CDEC战队教练采访
2016/06/26 DOTA
[01:01:51]EG vs VG Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
python实现文件批量编码转换及注意事项
2019/10/14 Python
python 命名规范知识点汇总
2020/02/14 Python
Python响应对象text属性乱码解决方案
2020/03/31 Python
Python 使用SFTP和FTP实现对服务器的文件下载功能
2020/12/17 Python
美国嘻哈文化生活方式品牌:GLD
2018/04/15 全球购物
在校硕士自我鉴定
2014/01/23 职场文书
革命先烈的英雄事迹材料
2014/02/15 职场文书
中国梦演讲稿教师篇
2014/04/23 职场文书
授权委托书格式
2014/07/31 职场文书
2014班子成员自我剖析材料思想汇报
2014/10/01 职场文书
九九重阳节标语
2014/10/07 职场文书
党员查摆剖析材料
2014/10/10 职场文书
2014年辅导员工作总结
2014/11/18 职场文书
道德模范事迹材料
2014/12/20 职场文书
魂断蓝桥观后感
2015/06/10 职场文书
小学2016年“我们的节日·重阳节”活动总结
2016/04/01 职场文书
Python绘制地图神器folium的新人入门指南
2021/05/23 Python