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下的XSLT API进行web开发的简单教程
Apr 15 Python
Python 关于反射和类的特殊成员方法
Sep 14 Python
python Socket之客户端和服务端握手详解
Sep 18 Python
Python+OpenCV人脸检测原理及示例详解
Oct 19 Python
教你用 Python 实现微信跳一跳(Mac+iOS版)
Jan 04 Python
python 获取当天每个准点时间戳的实例
May 22 Python
对python调用RPC接口的实例详解
Jan 03 Python
python爬虫项目设置一个中断重连的程序的实现
Jul 26 Python
python scrapy爬虫代码及填坑
Aug 12 Python
Python3进制之间的转换代码实例
Aug 24 Python
Python 2种方法求某个范围内的所有素数(质数)
Jan 31 Python
python使用隐式循环快速求和的实现示例
Sep 11 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
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
2011/08/02 PHP
PHP5.4中json_encode中文转码的变化小结
2013/01/30 PHP
php 使用file_get_contents读取大文件的方法
2014/11/13 PHP
php 多文件上传的实现实例
2016/10/23 PHP
PHP 网站修改默认访问文件的nginx配置
2017/05/27 PHP
基于jsTree的无限级树JSON数据的转换代码
2010/07/27 Javascript
客户端js性能优化小技巧整理
2013/11/05 Javascript
基于jquery实现的可编辑下拉框实现代码
2014/08/02 Javascript
jquery删除指定子元素代码实例
2015/01/13 Javascript
自制微信公众号一键排版工具
2016/09/22 Javascript
ES6新特性七:数组的扩充详解
2017/04/21 Javascript
validform表单验证的实现方法
2019/03/08 Javascript
一些手写JavaScript常用的函数汇总
2019/04/16 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
2019/09/10 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
基于vue实现探探滑动组件功能
2020/05/29 Javascript
浅谈JavaScript节流和防抖函数
2020/08/25 Javascript
[02:08]我的刀塔不可能这么可爱 胡晓桃_1
2014/06/20 DOTA
Python实现更改图片尺寸大小的方法(基于Pillow包)
2016/09/19 Python
Django中反向生成models.py的实例讲解
2018/05/30 Python
解决Python 中英文混输格式对齐的问题
2018/07/16 Python
python合并已经存在的sheet数据到新sheet的方法
2018/12/11 Python
python 实现查找文件并输出满足某一条件的数据项方法
2019/06/12 Python
用scikit-learn和pandas学习线性回归的方法
2019/06/21 Python
Python Numpy 实现交换两行和两列的方法
2019/06/26 Python
python实现连连看辅助之图像识别延伸
2019/07/17 Python
Python Selenium 设置元素等待的三种方式
2020/03/18 Python
设计师珠宝:Ylang 23
2018/05/11 全球购物
医院办公室主任职责
2013/12/29 职场文书
小学国旗下的演讲稿
2014/08/28 职场文书
2015七夕情人节宣传语
2015/07/14 职场文书
心理健康教育培训研修感言
2015/11/18 职场文书
SQL Server2019数据库之简单子查询的具有方法
2021/04/27 SQL Server
原生Javascript+HTML5一步步实现拖拽排序
2021/06/12 Javascript
Golang jwt身份认证
2022/04/20 Golang
vue-cli3.x配置全局的scss的时候报错问题及解决
2022/04/30 Vue.js