我如何在Python中修复我的(假设是while循环或if语句)骰子模拟器,以便它打印在6上登录之前的尝试次数?
所以,我有点被我的一个编码任务卡住了——我应该用Python编写一个模拟掷骰子的代码,程序在1-6之间随机化数字,直到它“落”在数字6上;此外,该程序还应计算在“降落”到6上之前“掷骰子”的尝试次数,并打印打印(“它花费了”,n,“尝试获得6”),其中n=在降落到6上之前掷骰子的尝试次数 这就是我到目前为止的想法:我如何在Python中修复我的(假设是while循环或if语句)骰子模拟器,以便它打印在6上登录之前的尝试次数?,python,loops,for-loop,random,while-loop,Python,Loops,For Loop,Random,While Loop,所以,我有点被我的一个编码任务卡住了——我应该用Python编写一个模拟掷骰子的代码,程序在1-6之间随机化数字,直到它“落”在数字6上;此外,该程序还应计算在“降落”到6上之前“掷骰子”的尝试次数,并打印打印(“它花费了”,n,“尝试获得6”),其中n=在降落到6上之前掷骰子的尝试次数 这就是我到目前为止的想法: import random dice = random.randint(1,6) n = 0 while dice == 6: n = n + 1 print(&
import random
dice = random.randint(1,6)
n = 0
while dice == 6:
n = n + 1
print("It took", n, "tries to get a 6.")
break
但是,唉,它只在结果窗口中打印出“1次尝试得到6”,并且在结果窗口中显示空白,只要“骰子”没有落在6上。我想我的问题是:如何让它在登陆到6之前计算所有的尝试,然后将所述的尝试量与语句打印结合起来(“花费了”,n,“尝试获得6的次数”)?您需要将
break
命令写入if语句中。
在当前代码中,它在第一次迭代中中断
由于这是一项任务,我不想把一切都告诉你。
但是while循环条件不能让你达到目的。
尝试编写一个带有中断条件的空白while循环,仔细想想。重复未知次数的操作的常见模式是使用
while True
循环,然后在满足退出条件时将中断
退出循环
rolls = 0
while True:
die = random.randint(1, 6)
rolls += 1
if die == 6:
break
print("It took", rolls, "tries to get a 6.")
如果初始滚动不是6,则
while
循环将永远不会执行。