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的函数的一些高阶特性
Apr 27 Python
详解Python中的日志模块logging
Jun 19 Python
Python中使用插入排序算法的简单分析与代码示例
May 04 Python
python+pandas分析nginx日志的实例
Apr 28 Python
Python FTP两个文件夹间的同步实例代码
May 25 Python
Django项目中用JS实现加载子页面并传值的方法
May 28 Python
详解python如何在django中为用户模型添加自定义权限
Oct 15 Python
python实现得到当前登录用户信息的方法
Jun 21 Python
python scrapy爬虫代码及填坑
Aug 12 Python
python栈的基本定义与使用方法示例【初始化、赋值、入栈、出栈等】
Oct 24 Python
详解字符串在Python内部是如何省内存的
Feb 03 Python
Python自带的IDE在哪里
Jul 01 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和AJAX创建RSS聚合器的代码
2007/03/13 PHP
php ignore_user_abort与register_shutdown_function 使用方法
2009/06/14 PHP
php入门学习知识点四 PHP正则表达式基本应用
2011/07/14 PHP
ThinkPHP的URL重写问题
2014/06/22 PHP
php实现paypal 授权登录
2015/05/28 PHP
CI框架扩展系统核心类的方法分析
2016/05/23 PHP
深入浅析PHP的session反序列化漏洞问题
2017/06/15 PHP
php常用字符串长度函数strlen()与mb_strlen()用法实例分析
2019/06/25 PHP
Thinkphp 框架扩展之数据库驱动常用方法小结
2020/04/23 PHP
用于判断用户注册时,密码强度的JS代码
2009/01/01 Javascript
jQuery 开天辟地入门篇一
2009/12/09 Javascript
javascript 同时在IE和FireFox获取KeyCode的代码
2010/02/07 Javascript
禁止空格提交表单的js代码
2013/11/17 Javascript
浅析JavaScript中两种类型的全局对象/函数
2013/12/05 Javascript
jQuery实现div浮动层跟随页面滚动效果
2014/02/11 Javascript
js模拟hashtable的简单实例
2014/03/06 Javascript
jQuery获取URL请求参数的方法
2015/07/18 Javascript
学习JavaScript设计模式(多态)
2015/11/25 Javascript
jquery  实现轮播图详解及实例代码
2016/10/12 Javascript
react-router JS 控制路由跳转实例
2017/06/15 Javascript
Vue学习笔记之表单输入控件绑定
2017/09/05 Javascript
jQuery实现模糊查询的方法分析
2018/05/10 jQuery
Node+OCR实现图像文字识别功能
2018/11/26 Javascript
js实现搜索提示框效果
2020/09/05 Javascript
H5 js点击按钮复制文本到粘贴板
2020/11/19 Javascript
讲解python参数和作用域的使用
2013/11/01 Python
python 寻找离散序列极值点的方法
2019/07/10 Python
python 绘制拟合曲线并加指定点标识的实现
2019/07/10 Python
关于Flask项目无法使用公网IP访问的解决方式
2019/11/19 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
2020/01/08 Python
CSS3实现千变万化的文字阴影text-shadow效果设计
2016/04/26 HTML / CSS
前端实现背景虚化但内容清晰且自适应 的实例代码
2019/08/01 HTML / CSS
Silk’n激光脱毛器官网:silkn.com
2016/10/06 全球购物
电子商务自荐书范文
2014/01/04 职场文书
护理专科自荐书范文
2014/02/18 职场文书
python人工智能human learn绘图可创建机器学习模型
2021/11/23 Python