Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我如何在Python中修复我的(假设是while循环或if语句)骰子模拟器,以便它打印在6上登录之前的尝试次数?_Python_Loops_For Loop_Random_While Loop - Fatal编程技术网

我如何在Python中修复我的(假设是while循环或if语句)骰子模拟器,以便它打印在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(&

所以,我有点被我的一个编码任务卡住了——我应该用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("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
循环将永远不会执行。