python随机数
我想请教一下,有人能帮我解释一下这句话吗?
创建一个名为 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
次(骰子的面用数字从 0
到 5
来表示,包括这两个数字)。
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])