用python把1 2 3 4 四个数字,组合成互不相同且无重复数字的3位数

def count_num():
    count = 0
    for i in range(1, 5):
        for j in range(1, 5):
            for k in range(1, 5):
                if (i != k) and (i != j) and (j != k):
                    print(i, j, k)
                    count += 1
    print('一共有{}个互不相同且无重复数字的3位数'.format(count))
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Python ,可以使用 itertools 模块的 permutations 函来获取列表[1, 2, 3, 4, 5]所有的排列,并使用生成器表达式过滤出四位数的排列。具体代码如下: ``` from itertools import permutations lst = [1, 2, 3, 4, 5] four_digit_permutations = [p for p in permutations(lst, 4) if all(x != y for x, y in zip(p, p[1:]))] print(len(four_digit_permutations)) # 输出 120 ``` 上面的代码会生成所有的四位数排列,然后使用生成器表达式过滤出不含重复数字的排列。 ### 回答2: 要求由列表[1, 2, 3, 4, 5]组成的四位数数字不能重复互不相同。解决这个问题可以使用排列组合的思想。 首先,选择百位数数字可以从列表的任意一个数字选择,有5种选择; 然后,在选择百位数之后,十位数的选择就只剩下4个数字可选,因为除了百位数之外的数字都还可以选; 接下来是个位数的选择,此时只有3个数字可选; 最后,千位数只剩下2个数字可选。 根据排列组合的原理,将上述选择的次相乘即可得到结果。所以,共有5 x 4 x 3 x 2 = 120个四位数,满足题目要求。 其一组可行的四位数可以是:1234。 ### 回答3: Python列表[1, 2, 3, 4, 5]组成互不相同且无重复数字的四位数有120个。 首先,我们可以确定个位的数字有5种选择,因为列表有5个数字可选。 然后,十位的数字有4种选择,因为我们选择了一个数字来作为个位数后,列表只剩下4个数字可选。 接下来,百位的数字有3种选择,因为我们选择了两个数字作为个位和十位数后,列表只剩下3个数字可选。 最后,千位的数字有2种选择,因为我们选择了三个数字作为个位、十位和百位数后,列表只剩下2个数字可选。 根据乘法原理,这些选择的量相乘即可得到答案。即5×4×3×2 = 120。所以,Python列表[1, 2, 3, 4, 5]组成互不相同且无重复数字的四位数共有120个。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值