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实现给字典添加条目的方法
Sep 25 Python
Python的面向对象思想分析
Jan 14 Python
教你用一行Python代码实现并行任务(附代码)
Feb 02 Python
Python读写及备份oracle数据库操作示例
May 17 Python
python读取xlsx的方法
Dec 25 Python
深入解析Python小白学习【操作列表】
Mar 23 Python
python协程gevent案例 爬取斗鱼图片过程解析
Aug 27 Python
Python线程障碍对象Barrier原理详解
Dec 02 Python
python保存log日志,实现用log日志画图
Dec 24 Python
使用Python爬虫库requests发送表单数据和JSON数据
Jan 25 Python
Python使用ElementTree美化XML格式的操作
Mar 06 Python
Python接口测试环境搭建过程详解
Jun 29 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
初学CAKEPHP 基础教程
2009/11/02 PHP
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
2014/03/13 PHP
使用php批量删除数据库下所有前缀为prefix_的表
2014/06/09 PHP
PHP中一些可以替代正则表达式函数的字符串操作函数
2014/11/17 PHP
PHP实现根据银行卡号判断银行
2015/04/29 PHP
php封装的表单验证类完整实例
2016/10/19 PHP
javascript firefox不显示本地预览图片问题的解决方法
2008/11/12 Javascript
JavaScript获取/更改文本框的值的实例代码
2013/08/02 Javascript
JS网页播放声音实现代码兼容各种浏览器
2013/09/22 Javascript
JavaScript var声明变量背后的原理示例解析
2013/10/12 Javascript
Javascript正则控制文本框只能输入整数或浮点数
2014/09/02 Javascript
js实现鼠标感应图片展示的方法
2015/02/27 Javascript
JS实现双击屏幕滚动效果代码
2015/10/28 Javascript
JS代码随机生成姓名、手机号、身份证号、银行卡号
2016/04/27 Javascript
JavaScript中数组的22种方法必学(推荐)
2016/07/20 Javascript
谈谈JavaScript中的几种借用方法
2016/08/09 Javascript
javascript简写常用的12个技巧(可以大大减少你的js代码量)
2020/03/28 Javascript
JS判断数组那点事
2017/10/10 Javascript
详解Vue 中 extend 、component 、mixins 、extends 的区别
2017/12/20 Javascript
JavaScript基础心法 数据类型
2018/03/05 Javascript
vue-cli与webpack处理静态资源的方法及webpack打包的坑
2018/05/15 Javascript
JavaScript实现封闭区域布尔运算的示例代码
2018/06/25 Javascript
nodejs实现用户登录路由功能
2019/05/22 NodeJs
详解webpack打包vue项目之后生成的dist文件该怎么启动运行
2019/09/06 Javascript
Vue中rem与postcss-pxtorem的应用详解
2019/11/20 Javascript
JavaScript switch语句使用方法简介
2019/12/30 Javascript
js实现时间日期校验
2020/05/26 Javascript
[01:04:01]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第一场
2014/05/24 DOTA
用Python中的__slots__缓存资源以节省内存开销的方法
2015/04/02 Python
Python与Java间Socket通信实例代码
2017/03/06 Python
python 将list转成字符串,中间用符号分隔的方法
2018/10/23 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
2021/03/03 Python
HTML5 File API改善网页上传功能
2009/08/19 HTML / CSS
计生个人工作总结
2015/02/28 职场文书
婚礼长辈答谢词
2015/09/29 职场文书
2016关于军训的心得体会
2016/01/11 职场文书