当前位置:首页python > 正文

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

作者:野牛程序员:2024-11-05 23:28:20python阅读 2081
python题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

这个问题要求从四个数字 1234 中选择三个数字来组成一个互不相同且无重复数字的三位数。换句话说,必须从这四个数字中选择三个数字,并排列成三位数。

计算方式:

  1. 选择3个数字:从4个数字中选择3个数字来组成三位数。

    • 选择第一个数字:有 4 种选择(1、2、3、4)。

    • 选择第二个数字:剩下 3 个数字,因此有 3 种选择。

    • 选择第三个数字:剩下 2 个数字,因此有 2 种选择。

所以,能组成的三位数的数量为:

4×3×2=24

即一共有 24 个互不相同且无重复数字的三位数。

代码实现:

import itertools

# 四个数字
digits = [1, 2, 3, 4]

# 生成所有的三位数排列
three_digit_numbers = list(itertools.permutations(digits, 3))

# 输出结果
print(f"共生成 {len(three_digit_numbers)} 个三位数。")
print("这些三位数分别是:")
for num in three_digit_numbers:
    print("".join(map(str, num)))

解释:

  • 使用 itertools.permutations 来生成从四个数字中选择三位数的所有排列组合。

  • itertools.permutations(digits, 3) 返回所有从 digits 列表中选出 3 个数字的排列,不重复且每个三位数的数字位置不同。

  • 每个排列会被转化为一个字符串并打印。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • python
  • 最新推荐

    热门点击