擅长:python、mysql、java
<p>您可以利用一次提供同一函数的多个卷的随机函数:<code>random.choices(iterable, k=number of results)</code>。这比多次滚动1个骰子并将数值相加要快</p>
<p>您需要将代码更改为:</p>
<pre><code>import random
def diceroll(number_of_dices, number_of_times, dice_sides=6):
# prepare dictionary with zero values for all possible results
counter = {n : 0 for n in range(number_of_dices, number_of_dices*dice_sides + 1)}
# roll all the dice
for i in range(number_of_times):
dice_sum = sum(random.choices(range(1, dice_sides + 1), k = number_of_dices))
counter[dice_sum] += 1
return counter
print(diceroll(3, 100))
</code></pre>
<p>输出:</p>
<pre><code>{ 3: 0, 4: 1, 5: 1, 6: 7, 7: 10, 8: 10, 9: 16, 10: 10,
11: 19, 12: 8, 13: 8, 14: 3, 15: 4, 16: 2, 17: 1, 18: 0}
</code></pre>