标签:shuf 生成 shu range .sh random import and imp
这道题给我的第一印象是概率会改变,
直观上讲,第一次选择成功的概率为1/3,第二次如果再选择一次的概率为1/2,但是问题的关键在于第二次是否是进行了随机选择,如果确定了必须选另一个或者不选,那么就不再是随机的。所以我使用了以下代码进行测试:
1 import random 2 3 n = 0 4 for i in range (100002): 5 6 #生成羊(0)和车(1)的随机排列 7 list = [0,1,0] 8 random.shuffle(list) 9 10 #生成参赛者所猜的门号 11 a = int(100*random.random())%3 12 if list[a]==1 : 13 n = n+1 14 m = n/100002 15 16 n = 0 17 for i in range (100002): 18 19 #生成羊(0)和车(1)的随机排列 20 list = [0,1,0] 21 random.shuffle(list) 22 23 #生成参赛者所猜的门号 24 a = int(100*random.random())%3 25 if list[a]!=1 : 26 n = n + 1/2 27 b = n/100002 28 29 print("直接猜:{:.10},让主持人来一次:{:.10}.".format(m,b))
得到的结果为
直接猜:0.3326833463,让主持人来一次:0.3331833363.
多次运行后我认为概率没有改变,因为结果基本是相同的。
标签:shuf 生成 shu range .sh random import and imp
原文地址:https://www.cnblogs.com/a2017wzy/p/8971723.html