翻倍加注法有用吗?

背景:
已知一赌徒,使用加倍加注法进行押注。假设该赌徒的胜率为50% 资本为N,加倍押注指的是,以一单位(假设此处为1元)作为第一场的押注,如果赢了,继续以一元押注,如果输了则以2元押注,2元押注如果输了则继续翻倍,直到赢。赢了后则再从一元开始押注。

使用模块:

import random
import matplotlib.pyplot as plt
%matplotlib 

实现代码:

# 设置初始的资金,保留资金变动记录
history = [100]

# 初始化赌注的倍数
times = 0


# 利用循环设置押注的次数
for i in range(100):
    # 根据赌注的倍数进行下注
    mind = 2 ** times
    # 考虑剩余资金是否足够,若不够则押上所有剩余资金
    if mind < history[-1]:
        real = mind
    else:
        real = history[-1]
        
    # 模拟开盘
    flag = 1 if random.random() < 0.5 else -1
    
    # 净胜资金(若输了则为负值)
    win = flag * real
    # 将押注后的剩余资金存入资金变动记录
    history.append(history[-1] + win)
    
    # 记录赌注倍数
    if win > 0:
        times = 0
    else:
        times += 1
    
    # 看剩余资金是否大于零
    if history[-1] > 0:
        continue
    else:
        print("经过{}次押注, 输光了,最后剩余资金为:{}".format(len(history)-1,history[-1]))
        print("倍数为:",times)
        break
# 如果for循环正常执行完毕,则说明最后赌资为正,没有输光。
else:
    print("运气不错,经过{}次押注,最后剩余赌资为{}".format(len(history)-1,history[-1]))
        
plt.plot(history)

结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值