确定在一对骰子上获得1-1的平均掷骰数

时间:2015-10-27 00:00:22

标签: python random nested-loops dice running-total

滚动一对6面骰子(a.k.a. D6),直到它们都出现在' 1'。计算这个卷的数量。 对此进行100次试验。打印出每卷的结果并报告所需的平均卷数。

使用嵌套循环。外环运行100次试验;内循环继续滚动直到1-1出现。然后更新运行计数并转到下一个试验。

import random
dice1, dice2 = " ", " " 
roll = " "

for roll in range(1, 101):
    roll = 0
    dice1 = random.randint(1, 6)
    dice2 = random.randint(1, 6)
    print(dice1, ",", dice2)
    while dice1 == 1 and dice2 == 1:
         break

这不会在2 1&1停止时停止,我需要帮助累积滚动号和试用号

2 个答案:

答案 0 :(得分:1)

问题是你的内循环真的没有做任何事情。 你必须给它你描述的工作:继续滚动两个骰子,直到它们都出现1.我将概述你描述的逻辑,但实施起来有困难。我会把详细的工作留给你。 : - )

roll_count = 1
while not (dice1 == 1 and dice2 == 1):
    roll both dice
    increment roll_count

running_total += roll_count

您还需要在某处初始化running_total。

这会让你失意吗?

答案 1 :(得分:0)

import random
from itertools import count
for roll in range(1, 101):
    for c in count(1):
        dice1 = random.randint(1, 6)
        dice2 = random.randint(1, 6)
        print(c, ':', dice1, ",", dice2)
        if dice1 == 1 and dice2 == 1:
            break