题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复的三位数?各是多少?
分析:遍历所有可能,去掉重复元素
方法一:
1)for循环遍历语法,遍历1-4所有整数i,j,k;
2)判断:若i≠j,i≠k,j≠k,则符合题目要求,互不相同且不重复的三位数;
3)判断:count%4,每4个一行分别打印出来;
count = 0
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if (i!=j) and (i!=k) and (j!=k):
# print(i,j,k)
count += 1
if count%4:
print('%d%d%d'%(i,j,k),end=' ')
else:
print('%d%d%d' % (i, j, k))
print(count)
输出结果:
方法二:
使用itertools中的permutationsitertools(操作迭代器),permutations函数返回的是可迭代元素中的一个排列组合(全排列)
import itertools
count = 0
a = [1, 2, 3, 4]
for i in itertools.permutations(a, 3):
print(i)
count += 1
print(count)