3.剔除重复数字

有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

1.首先先写出用1,2,3,4 能组成多少个三位数。

for i in range (1,5):
    for j in range (1,5):
        for k in range(1,5):
            print(i,j,k)
>>>1 1 1
1 1 2,1 1 3,1 1 4,1 2 1,1 2 2,1 2 3,1 2 4,1 3 1,1 3 2,1 3 3,1 3 4,1 4 1,1 4 2,1 4 3,1 4 4,2 1 1,2 1 2,2 1 3,2 1 4,2 2 1,2 2 2,2 2 3,2 2 4,2 3 1,2 3 2,2 3 3,2 3 4,2 4 1,2 4 2,2 4 3,2 4 4,3 1 1,3 1 2,3 1 3,3 1 4,3 2 1,3 2 2,3 2 3,3 2 4,3 3 1,3 3 2,3 3 3,3 3 4,3 4 1,3 4 2,3 4 3,3 4 4,4 1 1,4 1 2,4 1 3,4 1 4,4 2 1,4 2 2,4 2 3,4 2 4,4 3 1,4 3 2,4 3 3,4 3 4,4 4 1,4 4 2,4 4 3,4 4 4

2.上面的数字看起来不太好看,把代码优化一下,让打印出来的数字符合平时写出来的一样,像111,112等。

for i in range (100,500,100):
    for j in range (10,50,10):
        for k in range(1,5):
            print(i+j+k\n)

3.把有重复性数字的三位数找出来,这就用到了if条件判断语句。

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)

4.最终打印出来

for i in range (100, 500, 100):
    for j in range (10, 50, 10):
        for k in range (1, 5):
            if (i/100 != k) and (i/100 != j/10)and (j/10 != k):
                print(i +j + k)
>>>
123
124
132
134
142
143
213
214
231
234
241
243
312
314
321
324
341
342
412
413
421
423
431
432

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值