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和php通信乱码问题解决方法
Apr 15 Python
python正则表达式中的括号匹配问题
Dec 14 Python
Python对列表排序的方法实例分析
May 16 Python
python3学生名片管理v2.0版
Nov 29 Python
pygame实现俄罗斯方块游戏(基础篇1)
Oct 29 Python
Python Gluon参数和模块命名操作教程
Dec 18 Python
python每5分钟从kafka中提取数据的例子
Dec 23 Python
Python调用接口合并Excel表代码实例
Mar 31 Python
Python工程师必考的6个经典面试题
Jun 28 Python
python如何将图片转换素描画
Sep 08 Python
python实现录音功能(可随时停止录音)
Oct 26 Python
解决selenium+Headless Chrome实现不弹出浏览器自动化登录的问题
Jan 09 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
咖啡知识大全
2021/03/03 新手入门
ThinkPHP无限级分类原理实现留言与回复功能实例
2014/10/31 PHP
PHP中的traits实现代码复用使用实例
2015/05/13 PHP
php版微信数据统计接口用法示例
2016/10/12 PHP
详解PHP用substr函数截取字符串中的某部分
2016/12/03 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
2018/04/20 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
2019/04/12 PHP
JQuery一种取同级值的方式(比如你在GridView中)
2012/03/15 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
jquery实现的下拉和收缩效果示例
2014/08/21 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
关于foreach循环中遇到的问题小结
2017/05/08 Javascript
Vue 使用中的小技巧
2018/04/26 Javascript
vue路由组件按需加载的几种方法小结
2018/07/12 Javascript
深入浅析angular和vue还有jquery的区别
2018/08/13 jQuery
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
vue视图不更新情况详解
2019/05/16 Javascript
微信小程序进入广告实现代码实例
2019/09/19 Javascript
IntelliJ IDEA编辑器配置vue高亮显示
2019/09/26 Javascript
vue下axios拦截器token刷新机制的实例代码
2020/01/17 Javascript
Javascript地址引用代码实例解析
2020/02/25 Javascript
[05:41]2014DOTA2西雅图国际邀请赛 小组赛7月10日TOPPLAY
2014/07/10 DOTA
全面了解Python环境配置及项目建立
2016/06/30 Python
Python实现将不规范的英文名字首字母大写
2016/11/15 Python
python清除字符串中间空格的实例讲解
2018/05/11 Python
python简单操作excle的方法
2018/09/12 Python
Html5 webRTC简单实现视频调用的示例代码
2020/09/23 HTML / CSS
小学校园活动策划
2014/01/30 职场文书
房地产财务管理制度
2014/02/02 职场文书
食品安全检查制度
2014/02/03 职场文书
共产党员承诺书
2014/03/25 职场文书
农村党员一句话承诺
2014/05/30 职场文书
基层党建工作宣传标语
2014/06/24 职场文书
教师节学生演讲稿
2014/09/03 职场文书
Nginx下SSL证书安装部署步骤介绍
2021/12/06 Servers
阿里云日志过滤器配置日志服务
2022/04/09 Servers