擅长:python、mysql、java
<p>如果您确实想使用<code>numpy</code>,这将更快,但只有在您有大量掷骰和骰子的情况下才会明显更快:</p>
<pre><code>def diceroll(k, n, dice_sides=6):
rolls = np.random.randint(dice_sides, size = (k, n)) + 1
counter = {k:v for k, v in zip(*np.unique(rolls.sum(1), return_counts = True))}
return counter
diceroll(1000, 2)
Out[]:
{2: 31,
3: 49,
4: 105,
5: 120,
6: 136,
7: 163,
8: 152,
9: 109,
10: 70,
11: 40,
12: 25}
</code></pre>