python随机数

时间:2011-02-27 22:35:32

标签: python

我想知道是否有人可以为我澄清这一行。

  

创建一个掷骰子的函数die(x)   死了x次跟踪多少   每个面孔出现并返回一个   包含这些数字的1X6数组。

当我说1X6阵列时,我不确定这意味着什么?我正在使用numpy的randint函数,所以输出已经是一个数组(或列表)我不确定。

由于

5 个答案:

答案 0 :(得分:3)

由于骰子有6种可能的结果,如果你得到2次三次,那就是:

0 3 0 0 0 0

答案 1 :(得分: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])

答案 2 :(得分:1)

这有帮助吗?

def die(x):
    return [np.random.randint(1,6) for i in range(x)]

答案 3 :(得分:1)

如果您在列表lst中包含掷骰子的结果,则可以通过len([_ for _ in lst if _ == 4])确定4出现的次数。你应该能够从那里找出其余部分。

答案 4 :(得分:1)

>>> myarray = [0]*6
>>> roll = 2
>>> myarray[roll-1]+=1
>>> myarray
[0, 1, 0, 0, 0, 0]
>>> myarray[roll-1]+=1
>>> myarray
[0, 2, 0, 0, 0, 0]
>>> roll = 6
>>> myarray[roll-1]+=1
>>> myarray
[0, 2, 0, 0, 0, 1]

现在您只需要从randint()或类似

设置滚动