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之玩转字符串(2)更新篇
Sep 28 Python
Python 专题六 局部变量、全局变量global、导入模块变量
Mar 20 Python
Python列表和元组的定义与使用操作示例
Jul 26 Python
Ubuntu安装Jupyter Notebook教程
Oct 18 Python
Python创建二维数组实例(关于list的一个小坑)
Nov 07 Python
解决python os.mkdir创建目录失败的问题
Oct 16 Python
在Django admin中编辑ManyToManyField的实现方法
Aug 09 Python
python绘制随机网络图形示例
Nov 21 Python
Python requests模块cookie实例解析
Apr 14 Python
python怎么提高计算速度
Jun 11 Python
python转化excel数字日期为标准日期操作
Jul 14 Python
Python调用Redis的示例代码
Nov 24 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
解决中英文字符串长度问题函数
2007/01/16 PHP
让PHP支持页面回退的两种方法
2008/01/10 PHP
检测png图片是否完整的php代码
2010/09/06 PHP
实用PHP会员权限控制实现原理分析
2011/05/29 PHP
php变量与数组相互转换的方法(extract与compact)
2016/12/02 PHP
分析php://output和php://stdout的区别
2018/05/06 PHP
Laravel框架实现多数据库连接操作详解
2019/07/12 PHP
thinkPHP5使用Rabc实现权限管理
2019/08/28 PHP
设定php简写功能的方法
2019/11/28 PHP
Mootools 1.2教程 滚动条(Slider)
2009/09/15 Javascript
jquery select(列表)的操作(取值/赋值)
2011/03/16 Javascript
远离JS灾难css灾难之 js私有函数和css选择器作为容器
2011/12/11 Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
2012/02/27 Javascript
浅析hasOwnProperty方法的应用
2013/11/20 Javascript
JS实现网页滚动条感应鼠标变色的方法
2015/02/26 Javascript
jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
2016/01/23 Javascript
老生常谈JQuery data方法的使用
2016/09/09 Javascript
AngularJS之ionic 框架下实现 Localstorage本地存储
2017/04/22 Javascript
JS查找数组中重复元素的方法详解
2017/06/14 Javascript
jquery+css3实现熊猫tv导航代码分享
2018/02/12 jQuery
详解关于Angular4 ng-zorro使用过程中遇到的问题
2018/12/05 Javascript
微信小程序实现的一键连接wifi功能示例
2019/04/24 Javascript
Vue 实现前端权限控制的示例代码
2019/07/09 Javascript
JavaScript canvas绘制折线图
2020/02/18 Javascript
ES6字符串的扩展实例
2020/12/21 Javascript
python调用系统ffmpeg实现视频截图、http发送
2018/03/06 Python
python3.6实现学生信息管理系统
2019/02/21 Python
使用TensorFlow搭建一个全连接神经网络教程
2020/02/06 Python
Python爬取12306车次信息代码详解
2020/08/12 Python
HTML5 新事件 小结
2009/07/16 HTML / CSS
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
大学生毕业自我评价范文分享
2013/11/07 职场文书
讲解员培训方案
2014/05/04 职场文书
2015年团支书工作总结
2015/04/03 职场文书
研讨会致辞
2015/07/31 职场文书
python 如何在list中找Topk的数值和索引
2021/05/20 Python