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中sys.argv参数用法实例分析
May 20 Python
Python实现二叉树结构与进行二叉树遍历的方法详解
May 24 Python
Python运行报错UnicodeDecodeError的解决方法
Jun 07 Python
老生常谈Python startswith()函数与endswith函数
Sep 08 Python
python导入csv文件出现SyntaxError问题分析
Dec 15 Python
Python面向对象类的继承实例详解
Jun 27 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
Feb 21 Python
wxpython绘制圆角窗体
Nov 18 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
Mar 30 Python
详解python使用金山词霸的翻译功能(调试工具断点的使用)
Jan 07 Python
python+selenium爬取微博热搜存入Mysql的实现方法
Jan 27 Python
matplotlib之多边形选区(PolygonSelector)的使用
Feb 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
打造计数器DIY三步曲(下)
2006/10/09 PHP
php面向对象全攻略 (十四) php5接口技术
2009/09/30 PHP
php实现网站插件机制的方法
2009/11/10 PHP
PHP实现设计模式中的抽象工厂模式详解
2014/10/11 PHP
PHP中explode函数和split函数的区别小结
2016/08/24 PHP
php实现支付宝当面付(扫码支付)功能
2018/05/30 PHP
javascript之学会吝啬 精简代码
2010/04/25 Javascript
JavaScript实现生成GUID(全局统一标识符)
2014/09/05 Javascript
node.js集成百度UE编辑器
2015/02/05 Javascript
jquery仅用6行代码实现滑动门效果
2015/09/07 Javascript
jQuery实现可展开合拢的手风琴面板菜单
2015/09/15 Javascript
三种Node.js写文件的方式
2016/03/08 Javascript
微信小程序 页面传参实例详解
2016/11/16 Javascript
如何提高数据访问速度
2016/12/26 Javascript
解析Vue2.0双向绑定实现原理
2017/02/23 Javascript
jQuery选择器特殊字符与属性空格问题
2017/08/14 jQuery
JS实现瀑布流布局
2017/10/21 Javascript
微信小程序实现pdf、word等格式文件上传的方法
2019/09/10 Javascript
JS使用正则表达式提交页面验证的代码
2019/10/16 Javascript
Vue+Node服务器查询Mongo数据库及页面数据传递操作实例分析
2019/12/20 Javascript
jQuery实现移动端笔触canvas电子签名
2020/05/21 jQuery
python解析模块(ConfigParser)使用方法
2013/12/10 Python
跟老齐学Python之for循环语句
2014/10/02 Python
Python3控制路由器——使用requests重启极路由.py
2016/05/11 Python
python 3.7.0 下pillow安装方法
2018/08/27 Python
python整合ffmpeg实现视频文件的批量转换
2019/05/31 Python
pandas按行按列遍历Dataframe的几种方式
2019/10/23 Python
Python异常继承关系和自定义异常实现代码实例
2020/02/20 Python
html5使用canvas画空心圆与实心圆
2014/12/15 HTML / CSS
html5 figure和figcaption的使用方法
2018/09/10 HTML / CSS
罚款通知怎么写
2015/04/22 职场文书
小学副班长竞选稿
2015/11/21 职场文书
《搭石》教学反思
2016/02/18 职场文书
python之基数排序的实现
2021/07/26 Python
python和C/C++混合编程之使用ctypes调用 C/C++的dll
2022/04/29 Python
python基础之//、/与%的区别详解
2022/06/10 Python