所以我在 python 中创建了一个函数,根据用户输入模拟掷骰子。我有 2 个版本的代码,一个使用循环,一个使用纯数学(我不确定是否正确)。
# Loop
def simulate_dice_loop(num,sides):
result = 0
while num > 0:
x = random.randint(1,sides)
result += x
num -= 1
return result
# Math
def simulate_dice_math(num,sides):
max = num * sides
result = random.randint(1,max)
return result
我非常怀疑数学是否正确,尤其是在较大的数字上。 loop dice roll
往往保持在最大值的一半左右。然而,math
往往会一直波动,有时甚至会达到最大值的 90%——这在正常情况下可能不太可能。
...请帮助我如何改进 math
一个,因为循环往往花费的时间越长,数字越大——而且,为了满足我对这个主题的好奇心。谢谢^^