圣彼得堡悖论之破解

简介: import numpy as npimport pandas as pd'''圣彼得堡悖论:[1,2,4,8,16,...]'''class StPetresburg(object): def __init__(self, beitou=2, peilv=1.
import numpy as np
import pandas as pd

'''圣彼得堡悖论:[1,2,4,8,16,...]'''

class StPetresburg(object):
    def __init__(self, beitou=2, peilv=1.97):
        self.peilv = peilv # 赔率
        self.beitou = beitou   # 倍投倍数

    def set_option(self, *args, **kwargs):
        self.__dict__.update(dict(zip(['beitou', 'peilv'][:len(args)], args)))
        self.__dict__.update(kwargs)
    
    @property
    def df(self):
        period = np.arange(10) # 期数(从0开始)
        touzhu = self.beitou**period # 当期投注 = 倍投倍数 ^ 期数
        prize =  touzhu * self.peilv # 当期奖金 = 当期投注 × 赔率

        earn =  prize - np.cumsum(touzhu) # 累积收益 = 当期奖金 - 累积投注
        yields = earn / np.cumsum(touzhu) # 收益率 = 累积收益 / 累积投注

        #print(np.column_stack((period, touzhu, prize, np.cumsum(touzhu), earn, yields)))
        
        df = pd.DataFrame({
            '期数': pd.Series(period, dtype=int),
            '当期投注': pd.Series(touzhu, dtype=int),
            '当期奖金': pd.Series(prize, dtype=float),
            '累积投注': pd.Series(np.cumsum(touzhu), dtype=int),
            '累积收益': pd.Series(earn, dtype=float),
            '收益率': pd.Series(yields, dtype=float)
        })
        df = df.reindex(columns=['期数','当期投注','当期奖金','累积投注','累积收益','收益率'])
        return df

sp = StPetresburg()
print(sp.df)
sp.set_option(beitou=3)
print(sp.df)
目录
相关文章
|
存储 安全 Ubuntu
解决E: 仓库 “http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo bionic InRelease” 没有数字签名问题
解决E: 仓库 “http://realsense-hw-public.s3.amazonaws.com/Debian/apt-repo bionic InRelease” 没有数字签名问题
1070 0
|
存储 编解码 算法
4K 蓝光与流媒体比较:哪个更好?
4K 蓝光提供无与伦比的图像和声音质量,使其成为重视沉浸式电影体验的爱好者的首选。另一方面,流媒体服务提供了触手可及的庞大内容库,可随时随地访问。在这篇文章中,我们将深入探讨每个选项的好处并提供全面的比较,以帮助你决定哪个更适合您的观看习惯和偏好。
890 3
|
搜索推荐 语音技术 vr&ar
虚拟现实在游戏中的应用
【7月更文挑战第31天】虚拟现实在游戏中的应用
470 6
|
12月前
|
IDE 搜索推荐 Java
Pycharm的好用设置和插件
PyCharm 是一款强大的 Python IDE,支持多种实用设置和插件,如个性化字体设置、自动换行、汉化、代码优化插件 Sourcery、翻译工具、Material Theme UI、彩虹括号、彩虹缩进、代码概览 CodeGlance 和 GitToolBox 等,极大提升了开发效率和体验。
2125 10
|
安全 应用服务中间件 网络安全
遭遇DDOS攻击忍气吞声?立刻报警!首都网警重拳出击,犯罪分子无所遁形
公元2024年2月24日18时许,笔者的个人网站突然遭遇不明身份者的DDOS攻击,且攻击流量已超过阿里云DDos基础防护的黑洞阈值,服务器的所有公网访问已被屏蔽,由于之前早已通过Nginx屏蔽了所有国外IP,在咨询了阿里云客服之后,阿里网安的老同事帮助分析日志并进行了溯源,客服建议笔者选择立刻报警处理! 我国《刑法》二百八十六条规定,违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,处五年以下三年以上有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。
遭遇DDOS攻击忍气吞声?立刻报警!首都网警重拳出击,犯罪分子无所遁形
|
安全 API 数据库
一文带你了解银行卡验证api接口
银行卡验证api接口指的是通过天眼数聚这样的合规性api接口服务商,接入银联数据库,对用户提供的银行卡信息进行真实性核验的一种实名认证方法
1781 0
一文带你了解银行卡验证api接口
|
SQL 关系型数据库 MySQL
paip.解决 数据库mysql增加列 字段很慢添加字段很慢
paip.解决 数据库mysql增加列 字段很慢添加字段很慢 环境如下: mysql5.6 数据仅仅3w alter table xxx add column yyy int default 0; 添加字段很慢,好几份中都没有好。
4107 0
|
Java
06 SpringBoot配置文件占位符
06 SpringBoot配置文件占位符
148 0
|
消息中间件 网络协议 Java
RabbitMQ消息队列的原理和实践
RabbitMQ消息队列的原理和实践
740 0