【发布时间】:2020-10-07 05:02:24
【问题描述】:
我正在编写一个函数来帮助我计算将可变数量的骰子与可变面数相加的可能结果(例如,两个六面骰子和一个四面骰子的总和)并且我已经被难住了一段时间。
例如,滚动两个三面骰子应该输出一个包含所有 9 种可能组合的数组:
[[1,1],
[1,2],
[1,3],
[2,1],
(etc.)
[3,2],
[3,3]]
我也搞不清楚。我已经设法生成要枚举的范围,但我做不到。
dice = [6,6]
diceRanges = [range(0, die) for die in dice]
diceIndex = [0 for die in dice]
outcomes = []
for idx, rng in enumerate(diceRanges):
for var in rng:
diceIndex[idx] = var
outcomes.append([val for val in diceIndex])
outcomes
我见过一些事情,但从来没有看起来那么简单。
干杯
【问题讨论】:
-
从理论上讲,我希望创建一个 n 维数组,其中包含每个维度的索引值的总和。