有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
程序分析:可填在百位、十位、个位的数字都是 1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。
可以有两种方法:
方法一:
a = ['1', '2', '3', '4']
b = []
for i in a:
print(i)
for j in [x for x in a if x != i]:
print(j)
for m in [x for x in a if x != i and x != j]:
print(m)
b.append(int(i + j + m))
print(b)
print('互不相同且无重复数字的三位数总计 %s 个' % len(b))
执行结果如下:
1
2
3
4
3
2
4
4
2
3
2
1
3
4
3
1
4
4
1
3
3
1
2
4
2
1
4
4
1
2
4
1
2
3
2
1
3
3
1
2
[123, 124, 132, 134, 142, 143, 213, 214, 231, 234, 241, 243, 312, 314, 321, 324, 341, 342, 412, 413, 421, 423, 431, 432]
互不相同且无重复数字的三位数总计 24 个
方法2::
for j in range(1, 5):
for k in range(1, 5):
if(i != j) and (i != k) and (k != j):
print(i*100 +j*10 + k * 1)
total += 1
print("There are" + str(total) + "number fitted")
执行结果
123
124
132
134
142
143
213
214
231
234
241
243
312
314
321
324
341
342
412
413
421
423
431
432
There are24number fitted
本文介绍了如何使用Python编程解决一个数学问题:用数字1、2、3、4组成多少个互不相同且无重复数字的三位数,并给出了两种不同的实现方法,最终得出共有24个这样的三位数。
4705

被折叠的 条评论
为什么被折叠?



