|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目:掷骰子3次,有人说掷出666和253的概率是一样的,请用程序模拟大量的人,大量的次数掷骰子的过程,验证这种说法是不是对的。
import random
s=0
k=0
for i in range(1,1000000,1):
a=random.sample('123456',3)
if a=="['6', '6', '6']":
s=s+1
if a=="['2', '5', '3']":
k=k+1
print(s,k)
请问这样写代码,调整了几次i的终值,输出的s和k的结果都是0,是哪里出问题了呢?这个应该如何编写呢?
以你的代码为例:
第一,如 2 楼大佬说的那样,去掉双引号,直接用整数便可。
第二,不要用 random.sample() 函数,不然永远达不到 [6, 6, 6] 这种情形,因为 sample() 是不重复的
第三,比较符 a == [2, 5, 3] 看似没有问题,实则有问题,假设掷出 [3, 2, 5] 呢? a != [3, 2, 5] 呗,所以必须先排序,再做比较。
|
|