Python 蒙特卡罗三月疯狂模拟
在课堂上,我需要为三月的疯狂括号建立预测模型。。。我决定学习Python而不是Excel。我的方法是,基本上,生成x个随机数,x是每场比赛中每个队各自的投篮次数,如果这个数字大于y,也就是每个队的投篮命中率,他们就会错过那个投篮机会。通过这样做,可以非常粗略地预测游戏的分数和结果。我对Python非常陌生,但我知道:Python 蒙特卡罗三月疯狂模拟,python,Python,在课堂上,我需要为三月的疯狂括号建立预测模型。。。我决定学习Python而不是Excel。我的方法是,基本上,生成x个随机数,x是每场比赛中每个队各自的投篮次数,如果这个数字大于y,也就是每个队的投篮命中率,他们就会错过那个投篮机会。通过这样做,可以非常粗略地预测游戏的分数和结果。我对Python非常陌生,但我知道: import random for i in range(25): print(random.random()) 这给了我25个随机数,但现在我必须将它们与每支球队的命中
import random
for i in range(25):
print(random.random())
这给了我25个随机数,但现在我必须将它们与每支球队的命中率进行比较。我如何比较所有25个随机数来确定每个数是否小于,比如说,0.400。。。数一数你可以写的是什么
import random
sum = 0
boundary = 0.4
n = 25
for i in range(n):
random_num = random.random()
if random_num < boundary:
sum += random_num
print(sum)
随机导入
总和=0
边界=0.4
n=25
对于范围(n)中的i:
random_num=random.random()
如果随机数<边界:
总和+=随机数
打印(总和)
这就是所有数字的总和,但我想补充一点,25个样本对于蒙特卡罗模拟来说太少了。我为类编写了一次程序,我们使用了10.000.000个样本,所以我添加了变量n,您可以轻松更改
希望这有帮助。您可以使用
sum
import random
p = .4
n = 25
above_p = sum(1 for _ in range(n) if random.random() > p)
# or sum(random.random() > p for _ in range(n))