我想知道是否有人可以为我澄清这一行。
创建一个掷骰子的函数die(x) 死了x次跟踪多少 每个面孔出现并返回一个 包含这些数字的1X6数组。
当我说1X6阵列时,我不确定这意味着什么?我正在使用numpy的randint函数,所以输出已经是一个数组(或列表)我不确定。
由于
答案 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
次(脸部由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])
答案 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()
或类似