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 string类型 bytes类型 bytearray类型
Dec 16 Python
分享Pycharm中一些不为人知的技巧
Apr 03 Python
tensorflow 1.0用CNN进行图像分类
Apr 15 Python
python 平衡二叉树实现代码示例
Jul 07 Python
使用 Python 实现简单的 switch/case 语句的方法
Sep 17 Python
解决python os.mkdir创建目录失败的问题
Oct 16 Python
python读取文件名并改名字的实例
Jan 07 Python
python 如何将数据写入本地txt文本文件的实现方法
Sep 11 Python
Python3 shutil(高级文件操作模块)实例用法总结
Feb 19 Python
Python字典取键、值对的方法步骤
Sep 30 Python
python3 使用ssh隧道连接mysql的操作
Dec 05 Python
Python-split()函数实例用法讲解
Dec 18 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/02 无线电
详解PHP显示MySQL数据的三种方法
2008/06/05 PHP
数组与类使用PHP的可变变量名需要的注意的问题
2013/06/20 PHP
如何使用Gitblog和Markdown建自己的博客
2015/07/31 PHP
phpcms配置列表页以及获得文章发布时间
2017/07/04 PHP
浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法
2019/10/12 PHP
基于Web标准的UI组件 — 树状菜单(2)
2006/09/18 Javascript
ext combox 下拉框不出现自动提示,自动选中的解决方法
2010/02/24 Javascript
jQuery简易图片放大特效示例代码
2014/06/09 Javascript
使用delegate方法为一个tr标签加一个链接
2014/06/27 Javascript
JavaScript使用setInterval()函数实现简单轮询操作的方法
2015/02/02 Javascript
javascript实现随时变化着的背景颜色
2015/04/02 Javascript
简介JavaScript中的setHours()方法的使用
2015/06/11 Javascript
无刷新上传文件并返回自定义值
2015/06/11 Javascript
JavaScript类型系统之正则表达式
2016/01/05 Javascript
使用Node.js处理前端代码文件的编码问题
2016/02/16 Javascript
node.js从数据库获取数据
2016/05/08 Javascript
JavaScript判断用户名和密码不能为空的实现代码
2016/05/16 Javascript
JS+HTML5 FileReader对象用法示例
2017/04/07 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
2017/07/03 Javascript
微信小程序实现验证码获取倒计时效果
2018/02/08 Javascript
Vue项目pdf(base64)转图片遇到的问题及解决方法
2018/10/19 Javascript
从0到1搭建element后台框架优化篇(打包优化)
2019/05/12 Javascript
js实现多个标题吸顶效果
2020/01/08 Javascript
Python判断Abundant Number的方法
2015/06/15 Python
Python实现进程同步和通信的方法
2018/01/02 Python
pandas.DataFrame的pivot()和unstack()实现行转列
2019/07/06 Python
解决Python3 控制台输出InsecureRequestWarning问题
2019/07/15 Python
Python Web框架之Django框架文件上传功能详解
2019/08/16 Python
美国半成品食材配送服务商:Home Chef
2018/01/25 全球购物
企业车辆管理制度
2014/01/24 职场文书
人力资源管理专业自荐信
2014/06/24 职场文书
个人整改措施书面材料
2014/10/24 职场文书
在校生证明
2015/06/17 职场文书
如何有效防止sql注入的方法
2021/05/25 SQL Server
vue-cli3.x配置全局的scss的时候报错问题及解决
2022/04/30 Vue.js