【发布时间】:2019-10-01 10:27:43
【问题描述】:
我正在尝试打印公平骰子滚动的预期数量,并继续滚动直到所有 6 个面都滚动。
我想要做的是,例如,当滚动 1 时,它会被添加到列表中。然后继续滚动直到所有 6 个面都滚动并使用count+=1 继续滚动下一个骰子并使用计数作为次数。然后一旦列表等于[1,2,3,4,5,6] 使 stop 等于 True 并中断。
但是我应该使用 shift 方法,所以如果找到 3 则将其从列表中删除?
最后完成后,我想使用count 计算预期的滚动数量
import random
def rolldice():
count = 0
while True:
die = []
win = []
for i in range(1):
die.append(random.choice([1,2,3,4,5,6]))
stop = False
for roll in die:
number = die.count(roll)
if(number == 1):
win += [1]
if(number == 2):
win += [2]
if(number == 3):
win += [3]
if(number == 4):
win += [4]
if(number == 5):
win += [5]
if(number == 6):
win += [6]
if(win == [1,2,3,4,5,6]):
stop = True
break
if stop:
break
else:
count += 1
print(f'Count is {count}')
def main():
rolldice()
main()
尝试看看我是否走在正确的轨道上,或者我是否应该使用移位和删除。
【问题讨论】:
-
您正在尝试找出 what 的概率?
-
我的猜测是您想跟踪频率,然后从该分布中计算概率。对吗?
-
或者是滚动所有六个面之前所需的预期滚动次数?
-
如果您继续滚动,您最终将滚动所有六个数字,因此 概率 为 1。您实际上想在这里做什么?
-
我想计算掷一个公平骰子直到所有 6 个面都掷完的概率,因此我说等于
[1,2,3,4,5,6]
标签: python probability dice