題目:有1杠人,2勋乾,3,4嗡善,四個(gè)數(shù)字辑莫,能組成多少個(gè)互不重復(fù)的三位數(shù)?都是多少罩引?
分析:排列組合互不重復(fù)的三位數(shù)計(jì)算各吨,第一位有四種可能,第二位有三種可能袁铐,第三位有二中可能揭蜒,所以公式為4*3*2=24,那么用python如何實(shí)現(xiàn)呢剔桨?
import?itertools#導(dǎo)入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)#此時(shí)為一個(gè)迭代器,該函數(shù)會(huì)返回
y=[''.join(i)?for?i?in?x?]
print('共有{}種洒缀,他們是{}'.format(len(y),y))
-------------------------------------------------------------------------------------------------