题目 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
程序分析 遍历全部可能,把有重复的剃掉。
for i in range(1,5):
for k in range(1,5):
for j in range(1,5):
if i!=k and i!=j and k!=j:
print(i,k,j)
total +=1
print(total)
简便方法 用itertools中的permutations即可。
import itertools
sum = 0
a = [1,2,3,4]
for i in itertools.permutations(a,3):
print(i)
sum +=1
print(sum)
注:permutations(iterable [,r]):
创建一个迭代器,返回iterable中所有长度为r的项目序列,如果省略了r,那么序列的长度与iterable中的项目数量