如何使用python使这个骰子游戏在模拟中运行10000次?
我正在做家庭作业。我似乎找不到一个解决方案,如何使骰子滚动10000次,再加上创建一个变量,当你正确滚动骰子时,每当你赢得一些钱时,该变量就会更新。下面我有一些关于家庭作业的说明,有人能给我解释一下吗 游戏如下:掷一个六面骰子。 如果你掷1、2或3,游戏就结束了。 如果你掷4、5或6个骰子,你赢了那么多美元($4、5或$6),然后再掷一次。 每增加一次掷骰,你就有机会赢得更多的钱,或者你可以掷一个以1、2或3结尾的游戏,此时游戏结束,你保留你积累的任何赢款 使用Python随机模块中的randint函数来获得掷骰结果 (有关整数,请参见函数) 运行10000次游戏模拟(蒙特卡罗方法)。 打印平均赢得金额和最大赢得金额 作为一个思想实验,你会为玩这个游戏支付3美元吗 示例输出: 平均金额=x.xx韩元 最高金额=xx韩元如何使用python使这个骰子游戏在模拟中运行10000次?,python,Python,我正在做家庭作业。我似乎找不到一个解决方案,如何使骰子滚动10000次,再加上创建一个变量,当你正确滚动骰子时,每当你赢得一些钱时,该变量就会更新。下面我有一些关于家庭作业的说明,有人能给我解释一下吗 游戏如下:掷一个六面骰子。 如果你掷1、2或3,游戏就结束了。 如果你掷4、5或6个骰子,你赢了那么多美元($4、5或$6),然后再掷一次。 每增加一次掷骰,你就有机会赢得更多的钱,或者你可以掷一个以1、2或3结尾的游戏,此时游戏结束,你保留你积累的任何赢款 使用Python随机模块中的randi
import random
class diceGame:
def __init__(self,dice):
self.dice = dice
def gameOutCome(self):
askUser = str(input("Roll to play the game? Y/N: "))
while True:
if askUser == 'y':
print(self.dice)
if self.dice == 1:
print("Sorry, Try Again!")
elif self.dice == 2:
print("Sorry, Try Again!")
elif self.dice == 3:
print("Sorry, Try Again!")
elif self.dice == 4:
print("You win $4")
elif self.dice == 5:
print("You win $5")
elif self.dice == 6:
print("You win $6")
askUser = str(input("Roll to play the game? Y/N: "))
x = random.randint(1,6)
dd = diceGame(x)
dd.gameOutCome()
欢迎来到stackoverflow。因为这是你的家庭作业,我认为在这里发布完整的解决方案是不合适的 然而,我确实认为一些指向正确方向的指针可能会有所帮助: 1) 您正在运行模拟10000次。每卷需要2个用户输入。因此,为了完成模拟,您需要至少20000个用户输入。。。是的,那将是令人厌烦的;)。。。。因此,让我们剪切用户输入-只需编写一个函数来执行游戏,直到游戏结束。一旦你有了一个执行一个游戏的函数,你怎么能执行它多次呢 2) 想想看,每一次掷骰都有两种可能的结果——是否继续游戏。继续下去意味着什么?比赛结束必须满足什么条件 3) 游戏结束后,你需要用这些钱做什么 4) 您可以使用sum和max函数计算平均值和最大值
import random
def play_game():
#The function that executes the game - you have to write that on your own
pass
wins = [play_game() for i in range(0,10000)]
win_average = sum(wins)/10000.0
max_win = max(wins)
欢迎来到StackOverflow!请阅读。不要在模拟中要求输入。你想回答这些问题10000次吗?编写一个函数,玩一次游戏,然后使用for循环调用该函数10000次,例如
for-sim-in-range(10000):
。在Python和许多其他编程语言中,重复的标准方法是什么?@MarkTolonen for循环正在工作,但骰子没有更新。为什么会发生这种情况呢?我认为,使用random.randint的实例会一直更新。为什么我的骰子没有更新?这就是我被卡住的原因?只有你再次调用random.randint()
。编辑您的问题并显示您的代码尝试。