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输出9*9乘法表的方法
May 25 Python
Python在线运行代码助手
Jul 15 Python
python机器学习理论与实战(一)K近邻法
Jan 28 Python
pytorch对可变长度序列的处理方法详解
Dec 08 Python
对python中Librosa的mfcc步骤详解
Jan 09 Python
详解python中__name__的意义以及作用
Aug 07 Python
在Django中自定义filter并在template中的使用详解
May 19 Python
python使用hdfs3模块对hdfs进行操作详解
Jun 06 Python
解决Keras中循环使用K.ctc_decode内存不释放的问题
Jun 29 Python
在django中实现choices字段获取对应字段值
Jul 12 Python
pymongo insert_many 批量插入的实例
Dec 05 Python
Python自动操作神器PyAutoGUI的使用教程
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
基于PHP输出缓存(output_buffering)的深入理解
2013/06/13 PHP
PHP APC缓存配置、使用详解
2014/03/06 PHP
php创建session的方法实例详解
2015/01/27 PHP
PHP中你应该知道的require()文件包含的正确用法
2015/06/12 PHP
PHP使用xpath解析XML的方法详解
2017/05/20 PHP
犀利的js 函数集合
2009/06/11 Javascript
Javascript 函数中的参数使用分析
2010/03/27 Javascript
关于js拖拽上传 [一个拖拽上传修改头像的流程]
2011/07/13 Javascript
JavaScript 原型继承
2011/12/26 Javascript
关于js中for in的缺陷浅析
2013/12/02 Javascript
关于onchange事件在IE和FF下的表现及解决方法
2014/03/08 Javascript
node.js解决获取图片真实文件类型的问题
2014/12/20 Javascript
JS实现可调整倒计时间代码分享
2015/08/18 Javascript
jQuery获取checkbox选中的值
2016/01/28 Javascript
Bootstrap开发实战之第一次接触Bootstrap
2016/06/02 Javascript
flag和jq on 的绑定多个对象和方法(必看)
2017/02/27 Javascript
微信小程序视图template模板引用的实例详解
2017/09/20 Javascript
javascript单张多张图无缝滚动实例代码
2020/05/10 Javascript
echarts 使用formatter 修改鼠标悬浮事件信息操作
2020/07/20 Javascript
vscode中Vue别名路径提示的实现
2020/07/31 Javascript
[05:31]干嘛呢兄弟!DOTA2 TI9语音轮盘部分出处
2019/05/14 DOTA
python pandas 对时间序列文件处理的实例
2018/06/22 Python
Python爬虫框架Scrapy常用命令总结
2018/07/26 Python
python同时遍历数组的索引和值的实例
2018/11/15 Python
Django forms表单 select下拉框的传值实例
2019/07/19 Python
python redis连接 有序集合去重的代码
2019/08/04 Python
从训练好的tensorflow模型中打印训练变量实例
2020/01/20 Python
Django中的AutoField字段使用
2020/05/18 Python
django使用channels实现通信的示例
2020/10/19 Python
菲律宾酒店预订网站:Hotels.com菲律宾
2017/07/12 全球购物
中学教师岗位职责
2013/11/26 职场文书
初二政治教学反思
2014/01/12 职场文书
学习雷锋做美德少年寄语大全
2014/04/09 职场文书
中学生勤俭节约倡议书
2015/04/29 职场文书
个人房屋租赁合同(标准范本)
2019/09/16 职场文书
redis哨兵常用命令和监控示例详解
2021/05/27 Redis