python随机数

1 投票
5 回答
716 浏览
提问于 2025-04-16 12:38

我想请教一下,有人能帮我解释一下这句话吗?

创建一个名为 die(x) 的函数,这个函数会掷骰子 x 次,并记录每个面出现的次数,最后返回一个 1X6 的数组,里面包含这些数字。

我不太明白“1X6 数组”是什么意思?我正在使用 numpy 的 randint 函数,所以输出已经是一个数组(或者说列表),我不太确定。

谢谢!

5 个回答

1

如果你有一个列表 lst,里面记录了骰子的投掷结果,你可以通过下面这段代码来计算数字4出现的次数:len([_ for _ in lst if _ == 4])。你应该能从这里推导出其他的内容。

3

因为一个骰子有6种可能的结果,如果你连续三次都掷出了2,那么结果可以表示为:

0 3 0 0 0 0

3
def die(x):
    return np.bincount(np.random.random_integers(0, 5, size=x))

np.random.random_integers(0,5,size=x) 这个函数的意思是掷骰子 x 次(骰子的面用数字从 05 来表示,包括这两个数字)。

np.bincount() 这个函数会返回数组中每个值出现的次数,也就是说,它会告诉你每个面出现了多少次。

示例

>>> a = np.random.random_integers(0, 5, size=10)
>>> a
array([3, 5, 0, 5, 0, 5, 5, 1, 3, 0])
>>> np.bincount(a)
array([3, 1, 0, 2, 0, 4])

撰写回答