【发布时间】:2016-08-02 12:05:05
【问题描述】:
我正在寻找所有可能的掷 5 个六面骰子的方法。我知道在 python 中你可以使用 itertools 来做到这一点,在 c# 中有什么东西可以实现同样的效果吗?
itertools.combinations_with_replacement(iterable, r)
for i in itertools.combinations_with_replacement(range(1, 6), 5)
https://docs.python.org/dev/library/itertools.html#itertools.combinations_with_replacement
范围 1, 6 是骰子上的面数, , 5 是掷骰子的数量。想要制作所有可以掷骰子的 7776 种方式。例如初始滚动可能如下所示:
骰子 1、骰子 2、骰子 3、骰子 4、骰子 5 = 1,2,3,4,5
【问题讨论】:
-
请显示您的输入和预期输出 - 您还可以包含您尝试在 c# 中重现的相关 python。
-
因为你需要所有可能的组合,或者组合的数量?
-
所以如果我理解正确(而且我的 python 不是很好)
range(1,6)会给你一个包含[1,2,3,4,5,6]的集合和传递给combinations_with_replacement的combinations_with_replacement的额外参数说你想要所有5个值的组合 - 比如12345和23456和13456等? (如果我是对的,那么您的问题中没有类似的描述!!) -
已将此添加到问题中
-
对,所以你想要所有的方式组合来掷 5 个骰子 - 明白了。