骰子总和的分布
Distribution of dice sums
我想研究骰子总和的分布,尤其是当骰子数量增加时会发生什么
为此我知道我必须使用数字列表和整数 n 作为参数创建一个函数,并允许生成另一个数字列表对应于 n 个数字的总和,[=10 的列表=]
如果输入的数字列表是 {xi}
他们要求使用 while 循环遍历数字列表。
如果有人有任何想法,我们将不胜感激:)
好吧,这是一个有趣的实验,如果我正确理解你的问题,你正在寻找骰子总和随骰子计数变化的分布。
下面是让您入门的代码
import random
def simulatediceplay(num_of_dice):
sum = 0
for i in range(num_of_dice):
sum +=random.randint(1,6)
return sum
def generateplay(num_of_dice,num_of_runs):
lst = []
for i in range(num_of_runs):
lst.append(simulatediceplay(num_of_dice))
return lst
lst = generateplay(4,1000)
import seaborn as sns
sns.distplot(lst);
输出(模拟 1000 次掷 4 个骰子:
输出(用于模拟 8 个骰子的 1000 次掷骰:
下面的代码可以帮助您生成不同骰子数的 stddev 和均值变化
import statistics
listdice =[]
listdev = []
listmean = []
for i in range(1,20):
lst = generateplay(i,1000)
listdice.append(i)
listdev.append(statistics.stdev(lst))
listmean.append(statistics.mean(lst))
# draw lineplot
sns.lineplot(x=listdice, y=listmean)
# draw lineplot
sns.lineplot(x=listdice, y=listdev)
我想研究骰子总和的分布,尤其是当骰子数量增加时会发生什么
为此我知道我必须使用数字列表和整数 n 作为参数创建一个函数,并允许生成另一个数字列表对应于 n 个数字的总和,[=10 的列表=] 如果输入的数字列表是 {xi} 他们要求使用 while 循环遍历数字列表。
如果有人有任何想法,我们将不胜感激:)
好吧,这是一个有趣的实验,如果我正确理解你的问题,你正在寻找骰子总和随骰子计数变化的分布。
下面是让您入门的代码
import random
def simulatediceplay(num_of_dice):
sum = 0
for i in range(num_of_dice):
sum +=random.randint(1,6)
return sum
def generateplay(num_of_dice,num_of_runs):
lst = []
for i in range(num_of_runs):
lst.append(simulatediceplay(num_of_dice))
return lst
lst = generateplay(4,1000)
import seaborn as sns
sns.distplot(lst);
输出(模拟 1000 次掷 4 个骰子:
输出(用于模拟 8 个骰子的 1000 次掷骰:
下面的代码可以帮助您生成不同骰子数的 stddev 和均值变化
import statistics
listdice =[]
listdev = []
listmean = []
for i in range(1,20):
lst = generateplay(i,1000)
listdice.append(i)
listdev.append(statistics.stdev(lst))
listmean.append(statistics.mean(lst))
# draw lineplot
sns.lineplot(x=listdice, y=listmean)
# draw lineplot
sns.lineplot(x=listdice, y=listdev)