题目:有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))
-------------------------------------------------------------------------------------------------