版权声明:本文为博主原创文章,如若转载请注明出处 https://blog.csdn.net/tonydz0523/article/details/83412182
问题:
四个数字1、2、 3、 4 ,能组成多少个互不相同且无重复的三位数?
解答
方法一:
先不考虑重复将个位、十位、百位填入数值,得到后判断各个数位上是否有重复,弃去重复项
代码实现:
total = []
for i in range(1, 5):
for j in range(1, 5):
for k in range(1, 5):
if all([i!=j, j!=k, i!=k]):
total.append(i*100+j*10+k)
print(len(total))
print(total)
方法二:通过取数的方式
代码实现:
total = []
for i in range(4):
num1 = [1, 2, 3, 4]
num1.pop(i)
for j in range(3):
num2 = num1.copy()
x = num2.pop(j)
for k in range(2):
num3 = num2.copy()
y = num3.pop(k)
z = num3[0]
total.append(x*100+y*10+z)
print(len(total))
print(total)