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中for循环和while循环的基本使用方法
Aug 21 Python
python学习之编写查询ip程序
Feb 27 Python
浅谈scrapy 的基本命令介绍
Jun 13 Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
Dec 04 Python
Python 获取主机ip与hostname的方法
Dec 17 Python
numpy基础教程之np.linalg
Feb 12 Python
selenium2.0中常用的python函数汇总
Aug 05 Python
python3操作注册表的方法(Url protocol)
Feb 05 Python
Python如何实现在字符串里嵌入双引号或者单引号
Mar 02 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
Mar 25 Python
基于python实现ROC曲线绘制广场解析
Jun 28 Python
Python3使用 GitLab API 进行批量合并分支
Oct 15 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自定义函数返回多个值
2006/11/26 PHP
基于PHP读取TXT文件向数据库导入海量数据的方法
2013/04/23 PHP
解析PHP函数array_flip()在重复数组元素删除中的作用
2013/06/27 PHP
单台服务器的PHP进程之间实现共享内存的方法
2014/06/13 PHP
PHP使用imagick扩展实现合并图像的方法
2017/04/25 PHP
JavaScript DOM学习第四章 getElementByTagNames
2010/02/19 Javascript
jquery获取table中的某行全部td的内容方法
2013/03/08 Javascript
js工具方法弹出蒙版
2013/05/08 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
2013/06/26 Javascript
jquery实现拖拽调整Div大小
2015/01/30 Javascript
js实现单击图片放大图片的方法
2015/02/17 Javascript
jQuery Validate验证框架经典大全
2015/09/23 Javascript
Node.js中使用jQuery的做法
2016/08/17 Javascript
vue快捷键与基础指令详解
2017/06/01 Javascript
iscroll动态加载数据完美解决方法
2017/07/18 Javascript
vue综合组件间的通信详解
2017/11/06 Javascript
vue项目中引入vue-datepicker插件的详解
2019/05/14 Javascript
基于Vue实现电商SKU组合算法问题
2019/05/29 Javascript
Vue3 的响应式和以前有什么区别,Proxy 无敌?
2020/05/20 Javascript
[01:18:36]LGD vs VP Supermajor 败者组决赛 BO3 第一场 6.10
2018/07/04 DOTA
python编写暴力破解FTP密码小工具
2014/11/19 Python
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
2015/04/28 Python
python登录豆瓣并发帖的方法
2015/07/08 Python
详解Python nose单元测试框架的安装与使用
2017/12/20 Python
python挖矿算力测试程序详解
2019/07/03 Python
python异步编程 使用yield from过程解析
2019/09/25 Python
在Python中预先初始化列表内容和长度的实现
2019/11/28 Python
解决pip安装的第三方包在PyCharm无法导入的问题
2020/10/15 Python
详解CSS3选择器的使用方法汇总
2015/11/24 HTML / CSS
环境工程大学生个人的自我评价
2013/10/08 职场文书
后勤工作职责
2013/12/22 职场文书
超市总经理岗位职责
2014/02/02 职场文书
进步之星获奖感言
2014/02/22 职场文书
巾帼建功标兵事迹材料
2014/05/11 职场文书
MySQL 数据类型详情
2021/11/11 MySQL
阿里面试Nacos配置中心交互模型是push还是pull原理解析
2022/07/23 Java/Android