python不带重复的全排列代码

yipeiwu_com6年前Python基础
复制代码 代码如下:

from sys import argv
script, start, end = argv
vis = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
ans = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
def dfs(cur, m):
 ans[cur] = m
 if cur == int(end) - int(start) + 1:
  for i in xrange(int(start), int(end) + 1):
   print ans[i],
  print
  return
 cur = cur + 1
 for i in xrange(int(start), int(end) + 1):
  if vis[i] == False:
   vis[i] = True
   dfs(cur, i)
   vis[i] = False

for i in xrange(1, len(vis)):
 vis[i] = False
dfs(0, start) 

相关文章

Python使用Scrapy保存控制台信息到文本解析

Python使用Scrapy保存控制台信息到文本解析

在Windows平台下,如果想运行爬虫的话,就需要在cmd中输入: scrapy crawl spider_name 这时,爬虫就能启动,并在控制台(cmd)中打印一些信息,如下...

解决python xx.py文件点击完之后一闪而过的问题

解决python xx.py文件点击完之后一闪而过的问题

1.问题复现: 有时候我们去点击.py文件 文件里明明有打印信息,却一闪而过,没有任何显示 比如以下内容 #!/usr/local/bin/python import sys pri...

Pyqt5实现英文学习词典

Pyqt5实现英文学习词典

运用Python语言编写程序制作英文学习词典,词典有4个基本功能:添加、查询、删除和退出。程序读取源文件路径下的txt格式词典文件,若没有就创建一个。词典文件存储方式为“英文单词 中文单...

python使用yield压平嵌套字典的超简单方法

python使用yield压平嵌套字典的超简单方法

我们经常遇到各种字典套字典的数据,例如: nest_dict = { 'a': 1, 'b': { 'c': 2, 'd': 3, 'e': {'f...

跟老齐学Python之开始真正编程

跟老齐学Python之开始真正编程

通过对四则运算的学习,已经初步接触了Python中内容,如果看官是零基础的学习者,可能有点迷惑了。难道在IDE里面敲几个命令,然后看到结果,就算编程了?这也不是那些能够自动运行的程序呀?...