【发布时间】:2022-01-12 00:17:40
【问题描述】:
给定的问题是:
“你最多可以掷六次骰子。你可以随时停下来,然后 你得到该卷上显示的美元金额。例如,Max 掷出一个 2、4、3、6,决定停下来。他赢了 6 美元。汉斯掷出 3、2、4、5 并停止。大卫赢了 5 美元。假设你一直滚动直到你得到 4或更大,然后你停止。你通常会赢多少钱 每部戏?如果最大可能的掷骰数从 6比4?”
我写的代码是:
import random
rounds = 0
#x = [1,2,3,4,5,6]
#y = 0
while rounds < 6:
rounds = rounds + 1
max_rolls = 1
while max_rolls < 6 :
#x_trial = (random.choice(x))
x_trial = random.randint(1,6)
if x_trial < 4:
#if x_trial < 4 :
max_rolls = max_rolls + 1
#y = 0
#max_rolls = 1
else :
y = x_trial
break
print ("Round number:", rounds)
print("Times rolled:", max_rolls)
print("Your score:", y)
print ("Your prize:", y);
我得到的输出是:
Round number: 1
Times rolled: 1
Your score: 5
Your prize: 5
Round number: 2
Times rolled: 2
Your score: 6
Your prize: 6
Round number: 3
Times rolled: 1
Your score: 4
Your prize: 4
Round number: 4
Times rolled: 1
Your score: 6
Your prize: 6
Round number: 5
Times rolled: 3
Your score: 6
Your prize: 6
Round number: 6
Times rolled: 1
Your score: 5
Your prize: 5
我想做什么:
如果 y > 4,我希望代码停止。我不希望它运行 6 轮。我希望它在 y > 4 时停止。
【问题讨论】:
-
你应该了解
break声明。 -
好的,我会调查的。谢谢!
-
“继续滚动,直到获得 4 或更高”。您希望
y >= 4,而不是y > 4来满足要求。
标签: python python-3.x while-loop do-while dice