题目:有1、2、3、4共4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列,也就是去掉重复的数字。
源码:
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if (i != j and j != k and k != i):
print("%d,%d,%d" % (i,j,k))
运行结果:
1,2,3
1,2,4
1,3,2
1,3,4
1,4,2
1,4,3
2,1,3
2,1,4
2,3,1
2,3,4
2,4,1
2,4,3
3,1,2
3,1,4
3,2,1
3,2,4
3,4,1
3,4,2
4,1,2
4,1,3
4,2,1
4,2,3
4,3,1
4,3,2
总结:
1、使用循环,将三个数均遍历到。
2、三层循环的效率很低,在实际的开发中是不推荐使用的。
3、注意在for、if后面加上重要的冒号!