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中的select模块
Apr 23 Python
python实现微信自动回复功能
Apr 11 Python
使用Py2Exe for Python3创建自己的exe程序示例
Oct 31 Python
Python通过paramiko远程下载Linux服务器上的文件实例
Dec 27 Python
python获取服务器响应cookie的实例
Dec 28 Python
Python 使用 attrs 和 cattrs 实现面向对象编程的实践
Jun 12 Python
pymysql模块的使用(增删改查)详解
Sep 09 Python
PyTorch预训练的实现
Sep 18 Python
Tensorflow分批量读取数据教程
Feb 07 Python
Django models filter筛选条件详解
Mar 16 Python
python中如何写类
Jun 29 Python
Alpine安装Python3依赖出现的问题及解决方法
Dec 25 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判断输入不超过mysql的varchar字段的长度范围
2011/06/24 PHP
访问编码后的中文URL返回404错误的解决方法
2014/08/20 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
2016/05/09 PHP
一个通过script自定义属性传递配置参数的方法
2014/09/15 Javascript
Bootstrap CSS组件之大屏幕展播
2016/12/17 Javascript
webpack打包js的方法
2018/03/12 Javascript
vue.js使用v-model指令实现的数据双向绑定功能示例
2018/05/22 Javascript
Vue组件全局注册实现警告框的实例详解
2018/06/11 Javascript
给localStorage设置一个过期时间的方法分享
2018/11/06 Javascript
bootstrap-table实现表头固定以及列固定的方法示例
2019/03/07 Javascript
js最实用string(字符串)类型的使用及截取与拼接详解
2019/04/26 Javascript
javascript中的相等操作符(==与===区别)
2019/12/21 Javascript
Vue两个版本的区别和使用方法(更深层次了解)
2020/02/16 Javascript
vue 如何从单页应用改造成多页应用
2020/10/23 Javascript
[01:35:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第一场 1月18日
2021/03/11 DOTA
Python实现简单截取中文字符串的方法
2015/06/15 Python
玩转python selenium鼠标键盘操作(ActionChains)
2020/04/12 Python
Python发送http请求解析返回json的实例
2018/03/26 Python
python调用百度语音REST API
2018/08/30 Python
详解Django+Uwsgi+Nginx 实现生产环境部署
2018/11/06 Python
Python实现一个数组除以一个数的例子
2019/07/20 Python
Python Dict找出value大于某值或key大于某值的所有项方式
2020/06/05 Python
基于OpenCV的网络实时视频流传输的实现
2020/11/15 Python
通过css3的filter滤镜改变png图片的颜色的示例代码
2020/05/06 HTML / CSS
基于MUI框架使用HTML5实现的二维码扫描功能
2018/03/01 HTML / CSS
Topshop美国官网:英国快速时尚品牌
2019/05/16 全球购物
湖南卫视在线视频媒体平台:芒果TV
2019/10/30 全球购物
农药学硕士毕业生自荐信
2013/09/25 职场文书
大学生求职工作的自我评价
2014/02/13 职场文书
降消项目实施方案
2014/03/30 职场文书
教师考核表个人总结
2015/02/12 职场文书
新学期家长寄语2016
2015/12/03 职场文书
用Python创建简易网站图文教程
2021/06/11 Python
Java数据开发辅助工具Docker与普通程序使用方法
2021/09/15 Java/Android
如何用vue实现网页截图你知道吗
2021/11/17 Vue.js
Android开发之WECHAT微信小程序路由跳转的两种形式
2022/04/12 Java/Android