我正在用python和symbulate学习概率课程,并运行一些模拟。你知道吗
设置:两支球队,A和B,正在进行一个“n中最好的”锦标赛系列赛,其中n是一个奇数。在这个例子中,n=7,A队赢得任何一场比赛的概率为0.55。假设A队赢了第一场比赛,则A队赢得系列赛的概率。你知道吗
到目前为止,我认为这是正确的:
model = BoxModel([1, 0], probs=[0.55, .45], size=7, replace=True)
test = model.sim(10000)
for x in range(0,10000):
test1 = test[x]
if test1[0] == 1:
print (test1)
test1
最后两行是我遇到困难的地方。此“for”和“if”组合使其仅显示以“1”开头的输入(即a队赢得第一场比赛)。我需要将这些输入保存到一个表中,以便对其进行进一步的测试。你知道吗
在这些循环运行时,如何将test1的值输入到表中?目前,test1只输出x=10000th值。你知道吗
编辑:“测试”产生一个列表,0-10000,所有可能的游戏结果。我需要一个只有以“1”开头的游戏结果的列表。你知道吗
Edit2:“test”的输出(在我运行“for”或“if”之前)如下所示:
Index Result
0 (1, 1, 1, 0, 0, 1, 1)
1 (0, 1, 0, 1, 1, 0, 0)
2 (1, 1, 1, 1, 0, 1, 0)
3 (0, 0, 1, 1, 1, 1, 1)
4 (0, 0, 0, 0, 0, 0, 0)
5 (1, 1, 0, 1, 0, 0, 1)
6 (0, 0, 1, 0, 1, 1, 1)
7 (0, 1, 0, 0, 0, 0, 1)
8 (1, 1, 0, 1, 0, 1, 0)
... ...
9999 (1, 1, 0, 1, 0, 0, 0)
我需要一个“test”(或另一个变量)来包含与之完全相同的内容,但只包含以“1”开头的行。你知道吗
所以你想储存每个测试的结果?为什么不把它们存储在
list
中呢?你知道吗可以运行
print(test1_results)
来打印整个结果列表,但是如果要打印第一个n
结果,请执行print(test1_results[:n])
。你知道吗如果你想把你的
if
语句放在那里,你必须稍微调整一下位置。你的test
对象是什么样子的?你能给我们一个小样品吗?你知道吗编辑:更新了
if
语句以反映下面的评论根据您的评论:
这将遍历列表“test”中的每个结果。它将每个字符串转换为一个字符串(我假设它们是一些数值)。然后它接受字符串中的第一个字符,并询问它是否为1。你知道吗
相关问题 更多 >
编程相关推荐