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之有容乃大的list(3)
Sep 15 Python
Python实现的彩票机选器实例
Jun 17 Python
Python爬虫番外篇之Cookie和Session详解
Dec 27 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
Aug 04 Python
Django中日期处理注意事项与自定义时间格式转换详解
Aug 06 Python
Python3对称加密算法AES、DES3实例详解
Dec 06 Python
详解python pandas 分组统计的方法
Jul 30 Python
pytorch自定义初始化权重的方法
Aug 17 Python
Python发送邮件的实例代码讲解
Oct 16 Python
解决windows下python3使用multiprocessing.Pool出现的问题
Apr 08 Python
无惧面试,带你搞懂python 装饰器
Aug 17 Python
分析Python感知线程状态的解决方案之Event与信号量
Jun 16 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
完善CodeIgniter在IDE中代码提示功能的方法
2014/07/19 PHP
PHP调用C#开发的dll类库方法
2014/07/28 PHP
ThinkPHP中的三大自动简介
2014/08/22 PHP
PHP实现批量修改文件后缀名的方法
2015/07/30 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
Laravel 简单实现Ajax滚动加载示例
2019/10/22 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
Ext面向对象开发实践(续)
2008/11/18 Javascript
Mootools 1.2教程 正则表达式
2009/09/15 Javascript
Ext JS添加子组件的误区探讨
2013/06/28 Javascript
给ListBox添加双击事件示例代码
2013/12/02 Javascript
AngularJS中如何使用$parse或$eval在运行时对Scope变量赋值
2016/01/25 Javascript
VUEJS实战之利用laypage插件实现分页(3)
2016/06/13 Javascript
老生常谈 关于JavaScript的类的继承
2016/06/24 Javascript
js简单实现图片延迟加载的方法
2016/07/19 Javascript
详解Vue2.x-directive的学习笔记
2017/07/17 Javascript
基于Vue插入视频的2种方法小结
2019/04/02 Javascript
在layui中select更改后生效的方法
2019/09/05 Javascript
PyQt5 界面显示无响应的实现
2020/03/26 Python
详解python logging日志传输
2020/07/01 Python
H5调用相机拍照并压缩图片的实例代码
2017/07/20 HTML / CSS
兰蔻加拿大官方网站:Lancome加拿大
2016/08/05 全球购物
EJB面试题
2015/07/28 面试题
总务岗位职责
2013/11/19 职场文书
我的网上商城创业计划书
2013/12/26 职场文书
信息技术教学反思
2014/02/12 职场文书
银行先进个人事迹材料
2014/05/11 职场文书
超市优秀员工获奖感言
2014/08/15 职场文书
毕业证委托书范文
2014/09/26 职场文书
机关干部个人对照检查材料思想汇报
2014/09/28 职场文书
2014年村党支部工作总结
2014/12/04 职场文书
新郎父亲婚礼致辞
2015/07/27 职场文书
2016见义勇为事迹材料汇总
2016/03/01 职场文书
靠谱准确的求职信
2019/04/02 职场文书
Python 制作自动化翻译工具
2021/04/25 Python
新的CSS 伪类函数 :is() 和 :where()示例详解
2022/08/05 HTML / CSS