重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍Python如何实现全排列的打印,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
成都创新互联服务项目包括沙湾网站建设、沙湾网站制作、沙湾网页制作以及沙湾网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,沙湾网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到沙湾省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!问题:输入一个数字:3,打印它的全排列组合:123 132 213 231 312 321,并进行统计个数。
下面是Python的实现代码:
#!/usr/bin/env python # -*- coding:-*- ''' 全排列的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如何实现全排列的打印”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!