gpt4 book ai didi

Python 轮盘赌场景

转载 作者:行者123 更新时间:2023-12-04 17:10:05 25 4
gpt4 key购买 nike

我正在检查轮盘赌 python 场景。然而,我总是赢,我无法弄清楚我的算法中遗漏了什么。

概念是,我从 bet = 1 开始。如果我输了,我会加倍下注,直到我赢为止。如果我赢了,我就回去下注 = 1

我写了一个简单的 python 脚本,其中 randint 从(-1 到 36),-1 和 0 代表“双零”和“零”。我在 while 循环中运行了这个模拟,直到 1000 次,几乎所有时候,我最终得到的金额都比开始时要多。我可以使用 randint(一种随机数生成器)来模拟轮盘赌吗?

j = 0
k = 1
while (k<1000): # simulate for 1000 times
bet = 1
bank = 1024
for i in range (1, 100): # Placing 10000 bets
num = random.randint(-1, 36)
if num == 0 or num == -1:
bank = bank - bet
bet = 2*bet
elif(num % 2) == 0:# betting on even numbers
#print("{0} is Even".format(num))
bank = bank + bet
bet = 1
else:
#print("{0} is Odd".format(num))
bank = bank - bet
bet = 2 * bet
if bank<0:
break

if bank<1024:
j = j+1 # Count how many times money is lost

k = k+1


print ('Number of times money lost is', j)

最佳答案

首先是几个语法点,一些是 Python 特有的:

while (k<1000): # simulate for 1000 times

你实际上模拟了 999 次,因为 k 从 1 开始计数。

同样:

for i in range (1, 100): # Placing 10000 bets

For in in range实际上计数到 第二个参数 - 1,因此您的循环从 1 计数到 99,因此您最终得到 99 次迭代,而不是 100 次。

然后,当它在条件语句中出现括号时 - 在 Python 中不需要它们,或者至少在您的情况下不需要它们,这与我所知道的大多数其他编程语言不同。

while (k<1000): elif(num % 2) == 0:可以更改为: while k<1000:elif num % 2 == 0:

接下来,在你的代码中你有这个: bet = 2*betj = j+1等等。好吧,你可以写 bet *= 2j += 1反而。许多语言都支持此语法,此外还有许多语言允许您编写 j++j--如果您分别递增或递减 1,但 Python 不支持。

希望对您有所帮助。现在关于你的问题,我认为问题是这样的。我认为可能性实际上并不均匀,甚至不接近。他们倾向于获胜。如果你想获得偶数赔率,你可以这样写:

if num % 2 == 0:
bank += bet
bet *= 2
else:
bank += bet
bet *= 2

意思是,无论上一次抛硬币是输还是赢,您都会加倍下注。如果这样做,最终会导致灾难性的后果。

请注意,我对随机学的了解非常有限,但这个问题对我来说似乎很清楚。因为几率接近 50%,从统计上看,您更有可能翻转与之前结果相反的结果。由于您在获胜后重置赌注,因此接下来的损失会更小。然后,您将赌注加倍并获得双倍的金额。如果你颠倒逻辑并在输了之后重新下注,你赢的少输的多,结果又是灾难性的结果,给定这个样本量(在嵌套循环中),999 次中输了 999 次。

现在,如果给定原始公式,您将每“轮”的投注次数增加到 10 万次(从嵌套循环中的 99 次),突然间您也输掉了 999 次中的近 999 次。这是为什么?好吧,我相信,由于该策略依赖于每次都翻转硬币的另一面,样本越多,情况并非如此的可能性就越大(这将是维基百科条目 Frank 发表演讲的“连败”关于)。

关于Python 轮盘赌场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69655953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com