掷一对6面骰子(又名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
当21被掷出时它不会停止我需要帮助来累积掷出的次数和试验次数
问题是您的内部循环实际上没有做任何事情。你必须像你描述的那样,不停地掷两个骰子,直到掷出的都是1。我将概述您描述的逻辑,但很难实现。我把具体的工作交给你。: -)
roll_count = 1
while not (dice1 == 1 and dice2 == 1):
roll both dice
increment roll_count
running_total += roll_count
你还需要在某处初始化running_total
这会让你摆脱困境吗?
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