题目描述:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
x = [1, 2, 3, 4]
# 枚举法
re = []
for i in x:
for j in x:
for k in x:
if (i == j) or (j == k) or (i == k):
continue
else:
temp = i*100 + j*10 + k
re.append(temp)
print(re)
结果是:
[123, 124, 132, 134, 142, 143, 213, 214, 231, 234, 241, 243, 312, 314, 321, 324, 341, 342, 412, 413, 421, 423, 431, 432]
for i in x:
# 第一位
re = ''
re = re + str(i)
temp = copy.deepcopy(x)
temp.pop(x.index(i))
for j in temp:
# 第二位
temp2 = copy.deepcopy(temp)
temp2.pop(temp.index(j))
# 第三位
print('{}{}{}'.format(re, str(j), str(temp2[0])))
# 第四位
print('{}{}{}'.format(re, str(j), str(temp2[1])))