使用Python计算玩彩票赢钱概率


Posted in Python onJune 26, 2019

工具:Jupyter notebook + Anaconda

游戏规则:时时彩一种玩法是买尾号。2元一个数字,中奖是20元。每个数字出现的概率相等。

目前想到两种买法:

  1. 随机购买,人是感性动物,很容易受周围环境干扰。完全随机购买在生活中是不存在的。
  2. 分析数字在前面N期出现的概率,选择概率最小的n个数字购买。

导入包

import numpy as np

定义玩法一:完全随机购买

def play_lottery(my_money,play_num,money):
'''
随机选择数的中奖率
result:结果字典
num:用于统计每个数字出现次数
my_money:我的余额
play_num:投注期数
money:投注额
flag: 1代表赢钱 0则相反 2表示不输不赢

'''
flag = 1
temp = my_money
result = {'0':0,
'1':1,
'2':2,
'3':3,
'4':4,
'5':5,
'6':6,
'7':7,
'8':8,
'9':9}
data = np.random.randint(0,10,(play_num,1))
num = np.zeros((10,1))
for i in data:
play = np.random.randint(0,10,(5,1))
if i in play:
temp = temp + money
else:
temp = temp - money
if result[str(i[0])] == i[0]:
num[i[0]] = num[i[0]] + 1
print('我的余额:',temp)
print('开奖结果统计:\n',num[0][0],num[1][0],num[2][0],num[3][0],num[4][0],num[5][0],num[6][0],num[7][0],num[8][0],num[9][0])
if temp < my_money:
flag = 0
elif temp == my_money:
flag = 2
return flag

赌博代码

i = 0
binary = np.zeros((3,1))
while i < 10000:
binary[play_lottery(1000,10,10)][0] += 1 
i = i + 1

使用Python计算玩彩票赢钱概率

可以看出输:赢:平=6037:1886:2077

定义玩法二:按照概率购买

第一次购买,假设玩家已经获取到前面N期开奖号的中奖规律,不不不,应该是前面N期的各个数字出现的次数。

方法如下:

def play_lottery2(my_money,play_num,money):
'''
随机选择数的中奖率
result:结果字典
num:用于统计每个数字出现次数
my_money:我的余额
play_num:投注期数
money:投注额
flag: 1代表赢钱 0则相反 2表示不输不赢
'''
flag = 1
temp = my_money
result = {'0':0,
'1':1,
'2':2,
'3':3,
'4':4,
'5':5,
'6':6,
'7':7,
'8':8,
'9':9}
data = np.random.randint(0,10,(play_num,1))
num = np.zeros((10,1))
num_first = np.random.randint(0,10,(10,1))
is_one = 1
for i in data:
if is_one == 1:
play = np.argsort(num_first,axis=0).reshape(-1,1)[0:5]
is_one = 0
play = np.argsort(num,axis=0).reshape(-1,1)[0:5]
if i in play:
temp = temp + money
else:
temp = temp - money
if result[str(i[0])] == i[0]:
num[i[0]] = num[i[0]] + 1
print('我的余额:',temp)
print('开奖结果统计:\n',num[0][0],num[1][0],num[2][0],num[3][0],num[4][0],num[5][0],num[6][0],num[7][0],num[8][0],num[9][0])
if temp < my_money:
flag = 0
elif temp == my_money:
flag = 2
return flag

赌博代码

i = 0
binary = np.zeros((3,1))
while i < 10000:
binary[play_lottery2(1000,10,10)][0] += 1 
i = i + 1

使用Python计算玩彩票赢钱概率

可以看出按照概率购买之后比值为:

输:赢:平=3733:3761:2506

相对之前完全随机购买

输:赢:平=6037:1886:2077

赢得几率提升了不少,甚至赢>输,说的我都想翘课买彩票了。

好了回到正题。珍爱生命,远离黄赌毒。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 类与元类的深度挖掘 I【经验】
May 06 Python
Django实现一对多表模型的跨表查询方法
Dec 18 Python
Python设计模式之享元模式原理与用法实例分析
Jan 11 Python
Jacobi迭代算法的Python实现详解
Jun 29 Python
python代码 FTP备份交换机配置脚本实例解析
Aug 01 Python
Python 一行代码能实现丧心病狂的功能
Jan 18 Python
Jupyter打开图形界面并画出正弦函数图像实例
Apr 24 Python
浅谈Keras参数 input_shape、input_dim和input_length用法
Jun 29 Python
增大python字体的方法步骤
Jul 05 Python
Python实现敏感词过滤的4种方法
Sep 12 Python
Python实现简单的俄罗斯方块游戏
Sep 25 Python
Python装饰器详细介绍
Mar 25 Python
java中的控制结构(if,循环)详解
Jun 26 #Python
PyQt5实现QLineEdit添加clicked信号的方法
Jun 25 #Python
pyqt5 键盘监听按下enter 就登陆的实例
Jun 25 #Python
PyQt5响应回车事件的方法
Jun 25 #Python
PyQt5 QTableView设置某一列不可编辑的方法
Jun 25 #Python
用python做游戏的细节详解
Jun 25 #Python
Python二进制文件读取并转换为浮点数详解
Jun 25 #Python
You might like
PHP新手上路(十四)
2006/10/09 PHP
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题
2015/03/27 PHP
joomla数据库操作示例代码
2016/01/06 PHP
自动完成JS类(纯JS, Ajax模式)
2009/03/12 Javascript
对于this和$(this)的个人理解
2013/09/08 Javascript
一个简单的jQuery计算器实现了连续计算功能
2014/07/21 Javascript
分享2个jQuery插件--jquery.fileupload与artdialog
2014/12/26 Javascript
jquery实现的横向二级导航效果代码
2015/08/26 Javascript
使用jquery提交form表单并自定义action的方法
2016/05/25 Javascript
vue params、query传参使用详解
2017/09/12 Javascript
jQuery实现模糊查询的方法分析
2018/05/10 jQuery
小程序开发中如何使用async-await并封装公共异步请求的方法
2019/01/20 Javascript
移动端(微信等使用vConsole调试console的方法
2019/03/05 Javascript
微信小程序整个页面的自动适应布局的实现
2020/07/12 Javascript
浅谈JavaScript 声明提升
2020/09/14 Javascript
如何在vue中使用kindeditor富文本编辑器
2020/12/19 Vue.js
对python捕获ctrl+c手工中断程序的两种方法详解
2018/12/26 Python
python pandas时序处理相关功能详解
2019/07/03 Python
Python中 CSV格式清洗与转换的实例代码
2019/08/29 Python
详解numpy矩阵的创建与数据类型
2019/10/18 Python
pytorch 实现删除tensor中的指定行列
2020/01/13 Python
css3实现二维码扫描特效的示例
2020/10/29 HTML / CSS
澳大利亚玩具剧场:Toy Playhouse
2019/03/03 全球购物
俄罗斯电子产品在线商店:UltraTrade
2020/01/30 全球购物
Java里面如何把一个Array数组转换成Collection, List
2013/07/26 面试题
高级工程师岗位职责
2013/12/15 职场文书
预备党员思想汇报范文
2014/01/11 职场文书
给水工程专业毕业生自荐信
2014/01/28 职场文书
安全大检查实施方案
2014/02/22 职场文书
煤矿安全生产责任书
2014/04/15 职场文书
11.9消防日宣传标语
2014/10/08 职场文书
小学中等生评语
2014/12/29 职场文书
django 认证类配置实现
2021/11/11 Python
Python中的嵌套循环详情
2022/03/23 Python
Win11无法访问设备和打印机 如何解决页面空白
2022/04/09 数码科技
在容器中使用nginx搭建上传下载服务器
2022/05/11 Servers