- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我尝试对 Price is Right 的“Showcase Showdown”进行一系列模拟。本质上,有三个玩家。该游戏是在一个被称为“大轮盘”的巨大轮盘上进行的,轮盘上充满了从 5 美分一直到 1 美元的各种分值,以 5 为增量;并按此顺序(5 美分、1.00 美元、15 美分、80 美分、35 美分、60 美分、20 美分、40 美分、75 美分、55 美分、95 美分、50 美分、85 美分、30 美分、65 美分、10 美分)厘、45厘、70厘、25厘、90厘)。
游戏的目标是在不超过 1.00 美元的情况下尽可能接近 1.00 美元。任何超过 1.00 美元的金额都会输掉游戏。每个玩家最多旋转轮盘两次;第一次旋转后,旋转者可以选择留在原处或再次旋转;在第二次旋转中,无论参赛者击中的是什么,都将添加到第一个分数中,并且(如前所述)如果他/她超过 1.00 美元,则该参赛者将被淘汰出游戏;否则,该玩家将站在记分板下方等待结果。当所有三名参赛者都完成旋转后,最接近 1.00 美元的参赛者赢得比赛
所以我想运行一系列模拟,模拟当玩家 1 的第一次旋转为 0.50 美元并且他再次旋转时会发生什么。因此它会产生随机旋转,如果超过 1.00 美元,他们就会输,但如果没有超过,玩家 2 就会旋转。玩家 2 要么击败玩家 1,要么出局,如果他们出局,玩家 3 就出局。该代码跟踪玩家 1 获得的胜利/失败次数。
问题是,无论我将玩家 1 的起始值(value)设为多少($.50、$.40、$.30、$.60 等),获胜率始终是 15%,这是不正确的。有任何想法吗?我知道代码很丑陋,但请原谅我是一个菜鸟并试图学习
from random import randint
def test(spin):
w=0
l=0
ties=0
gain=0
wins=0
tests=100000
for i in range(tests):
new=spin+5*randint(1,21) #new money value
if new>100: #if new value is over 100
l+=1 # you lose
else:
p2_spin_one=5*randint(1,21) #p2's first spin
if p2_spin_one>=new: #if its higher than p1's final
l+=1 #p1 loses
else:
p2_spin_two=p2_spin_one+5*randint(1,21) #if its lower,
#spin again
if p2_spin_two>new and p2_spin_two<=100: #if its higher
#and less than 100
l+=1 #p1 loses
else:
p3_spin_one=5*randint(1,21) #p3's first spin
if p3_spin_one>=new: #if its higher than p1's final
l+=1 #p1 loses
else:
p3_spin_two=p3_spin_one+5*randint(1,21) #if its
#lower, spin again
if p3_spin_two>new and p3_spin_two<=100: #if second
#spin is higher and less than 100
l+=1
elif new==p2_spin_two and new==p3_spin_two:
ties+=1
elif p2_spin_two>100 and new==p3_spin_two:
ties+=1
elif p2_spin_two<new and new==p3_spin_two:
ties+=1
elif new==p2_spin_two and p3_spin_two<new:
ties+=1
elif new==p2_spin_two and p3_spin_two>100:
ties+=1
else:
w+=1
return ("\nPlayer 1 spin again when first spin is
"+str(first_spin)+"\n\n"+"Wins:"+str(w)+"\nLosses:"+str(l)+"\nTies:
"+str(ties)+"\nWin Percentage: "+str(100*w/tests)+"%")
#Set This equal to the number the person spun first
first_spin=30
print(test(first_spin))
最佳答案
我们无法解决此问题,因为您所说的问题不存在。首先,胜率仅为大约 15%,并且会慢慢降低到超过初始值 50。您是否真的在第一次旋转中尝试了所有 20 种可能性?当制定合理的策略来确定第一个玩家是否应该进行第二次旋转时,您会看到更好的结果。我修改了您的输出并循环您的主程序以生成一个表格:
for first_spin in range(5, 105, 5):
print(test(first_spin))
输出:
spin 1:5 W:15736 L:82317 T:1947 Pct: 15.736%
spin 1:10 W:15597 L:82533 T:1870 Pct: 15.597%
spin 1:15 W:15623 L:82359 T:2018 Pct: 15.623%
spin 1:20 W:15700 L:82333 T:1967 Pct: 15.7%
spin 1:25 W:15604 L:82452 T:1944 Pct: 15.604%
spin 1:30 W:15623 L:82458 T:1919 Pct: 15.623%
spin 1:35 W:15598 L:82547 T:1855 Pct: 15.598%
spin 1:40 W:15411 L:82688 T:1901 Pct: 15.411%
spin 1:45 W:15382 L:82756 T:1862 Pct: 15.382%
spin 1:50 W:15004 L:83193 T:1803 Pct: 15.004%
spin 1:55 W:15037 L:83197 T:1766 Pct: 15.037%
spin 1:60 W:14346 L:83994 T:1660 Pct: 14.346%
spin 1:65 W:13800 L:84570 T:1630 Pct: 13.8%
spin 1:70 W:13064 L:85467 T:1469 Pct: 13.064%
spin 1:75 W:11878 L:86769 T:1353 Pct: 11.878%
spin 1:80 W:10587 L:88275 T:1138 Pct: 10.587%
spin 1:85 W:8586 L:90505 T:909 Pct: 8.586%
spin 1:90 W:6467 L:92845 T:688 Pct: 6.467%
spin 1:95 W:3450 L:96216 T:334 Pct: 3.45%
spin 1:100 W:0 L:100000 T:0 Pct: 0.0%
第一个玩家对游戏的了解最少,因此获胜率最差。第三位玩家将有最大的获胜机会,因为她确切知道她需要多少总数才能赢得游戏,并且如果第一次旋转不够好,则只需进行第二次旋转即可。
关于python - 价格合适 'Showcase Showdown',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46576162/
假设我正在使用 segues 转换 View Controller 。我在 View Controller 1 上有一个 textField,在第二个 View Controller 上有一个标签。当
在下面的代码中,当我在表中插入数据时,回滚的目的是什么,如果我想回滚,我不应该插入它,那么使用回滚的合适方法是什么? BEGIN TRANSACTION Insert into dimCustomr
我一直在阅读一些帖子,并想知道是否有人可以介绍 TrieMap 何时比使用 HashMap 更可取的情况。 那么本质上是什么架构决策应该激励使用 TrieMap? 最佳答案 根据文档。 它是可以在多线
什么时候 do-while 比其他类型的循环更好?有哪些常见场景比其他场景更好? 我了解 do-while 的功能,但不了解何时使用它。 最佳答案 当您需要至少完成一次某事,但不知道启动循环之前的次数
fileExistsAtPath 的文档如下: Attempting to predicate behavior based on the current state of the file syst
当 XCode 分析我的代码时,它发现了潜在的内存泄漏。我使用 ARC,但我了解到 ARC 不处理 C 类型。因为我使用 CGImageRef 来创建 UIImage 并分配给 UIImageView
我有一个每天更新一次的大型数据集。我正在缓存对该数据进行昂贵查询的结果,但我想每天更新该缓存。我正在考虑使用 CacheItemRemovedCallback 每天重新加载我的缓存,但我有以下问题:
我了解 IoC 容器是什么,并且一直在阅读结构图。该技术似乎很容易使用。我的问题是,使用 IoC 容器的适当粒度级别是多少? 我看到以下可能的 IoC 应用级别: 打破所有对象之间的所有依赖关系——当
我用 Java 编写了一个应用程序。我从数据库中获取一个表(客户端),其中包含以下字段: 名称 |姓氏 |地址 在我的应用中存储这些数据的最佳解决方案是什么?我应该为每个客户端创建一个对象并将这些对象
这个问题在这里已经有了答案: Use of 'prototype' vs. 'this' in JavaScript? (16 个答案) 关闭 8 年前。 function A() { this
我已经试验了一段时间 asyncio 并阅读了 PEPs ;一些教程;甚至是 O'Reilly book 。 我想我已经掌握了窍门,但我仍然对 loop.close() 的行为感到困惑,我不太清楚何时
它是否正确,因为在 Windows 中并没有说它不好或不推荐。 例如像这样: int APIENTRY _tWinMain(HINSTANCE hInstance,
我在更新我的网站时遇到问题,谷歌搜索结果显示指向旧页面的链接,这些链接现在是 404,其中一些甚至包含已弃用的内容。 我的问题是关于 301 的使用。旧页面具有深层嵌套页面,如下例所示: ww
我使用 JUnit 和 FEST 对我们的应用程序进行 Swing 集成测试,我在测试用例中多次启动和停止。 @after 是否应该包含对 robot.cleanUp() 的调用? 最佳答案 一般规则
我是一名从未真正使用过 .dll 文件的程序员。当然,当我需要第 3 方软件时,例如图形库、帮助我创建图形的库等。我会将引用/ddl 文件添加到我的程序中并在我的代码中使用它们。 此外,您似乎可以将
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我目前正在尝试更多地利用 kotlin 协程。但我面临一个问题:在这些协程中使用 moshi 或 okhttp 时,我收到警告: “不适当的阻塞方法调用” 解决这些问题的最佳方法是什么?我真的不想不合
我有点不确定什么时候适合使用 Html.RenderAction() 来渲染我的 View ,什么时候不适合。我的理解是,因为它不是 ASP.NET MVC 的“官方”组件,所以使用它是不好的做法,它
假设你想开发你的 Controller ,以便你使用 ViewModel 来包含你渲染的 View 的数据,所有数据都应该包含在 ViewModel 中吗?什么条件下可以绕过 ViewModel? 我
您何时考虑在 .NET 中创建用户控件?您是否有一些基本标准来从页面中排除您的代码并引入新的用户控件? 通常我倾向于遵循这些来决定我是否需要用户控件: 当使用单独的用户控件使页面看起来更具可读性时 当
我是一名优秀的程序员,十分优秀!