python习题100/1思考及答案

题目:有1,2,3,4,四个数字,能组成多少个互不重复的三位数?都是多少?

分析:排列组合互不重复的三位数计算,第一位有四种可能,第二位有三种可能,第三位有二中可能,所以公式为4*3*2=24,那么用python如何实现呢?

import itertools#导入python自带迭代器模块

---------------------------------------------------------------------------------------------------------

方法一穷举:

a='1234'

b=[]

for x in a:

    for y in a:

        for z in a:

            if x!=y and y!=z and z!=x:

                b.append(x+y+z)

print('共有{}种,他们是{}'.format(len(b),b))

------------------------------------------------------------------------------------------------

方法二:

#还有一种更直观的方法用python自带的itertools模块

x=itertools.permutations(a,3)#此时为一个迭代器,该函数会返回

y=[''.join(i) for i in x ]

print('共有{}种,他们是{}'.format(len(y),y))

-------------------------------------------------------------------------------------------------

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • PYTHON-进阶-ITERTOOLS模块小结转自wklken:http://wklken.me/posts/20...
    C_Y_阅读 1,047评论 0 2
  • Python 是一种相当高级的语言,通过 Python 解释器把符合语法的程序代码转换成 CPU 能够执行的机器码...
    Python程序媛阅读 1,951评论 0 3
  • pyton review 学习指南 https://www.zhihu.com/question/29138020...
    孙小二wuk阅读 1,077评论 0 2
  • 钱谦益跪在南京城下,迎接清军入城的时候,东林党算是彻底亡了。不知,跪在那的钱谦益,想到的是史可法,还是自己那白肤黑...
    Youfeer阅读 782评论 0 0
  • 小时候,老爸经常在外做工,几个月半年的不回家。每次他回家,我和妹妹总是早早的就在屋门前等待那个熟悉又有点陌生的身影...
    暖暖的角落阅读 365评论 1 4