使用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的Twisted框架构建非阻塞下载程序的实例教程
May 25 Python
python logging日志模块的详解
Oct 29 Python
Python实现字典的遍历与排序功能示例
Dec 23 Python
python下解压缩zip文件并删除文件的实例
Apr 24 Python
Flask框架WTForm表单用法示例
Jul 20 Python
Python设计模式之备忘录模式原理与用法详解
Jan 15 Python
python3 线性回归验证方法
Jul 09 Python
python调用其他文件函数或类的示例
Jul 16 Python
详解Python3 pickle模块用法
Sep 16 Python
python实现KNN分类算法
Oct 16 Python
django template实现定义临时变量,自定义赋值、自增实例
Jul 12 Python
Python如何输出百分比
Jul 31 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
COM in PHP (winows only)
2006/10/09 PHP
国外比较好的几个的Php开源建站平台小结
2010/04/22 PHP
php的curl封装类用法实例
2014/11/07 PHP
php对二维数组进行相关操作(排序、转换、去空白等)
2015/11/04 PHP
让Laravel API永远返回JSON格式响应的方法示例
2018/09/05 PHP
php提供实现反射的方法和实例代码
2019/09/17 PHP
Javascript技术技巧大全(五)
2007/01/22 Javascript
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
灵活应用js调试技巧解决样式问题的步骤分享
2012/03/15 Javascript
angular简介和其特点介绍
2015/01/29 Javascript
高性能JavaScript DOM编程(1)
2015/08/11 Javascript
原生JS实现在线问卷调查投票特效
2017/01/03 Javascript
Three.js中网格对象MESH的属性与方法详解
2017/09/27 Javascript
ng-alain表单使用方式详解
2018/07/10 Javascript
js+canvas实现验证码功能
2020/09/21 Javascript
iview实现图片上传功能
2020/06/29 Javascript
Javascript节流函数throttle和防抖函数debounce
2020/12/03 Javascript
Python单链表的简单实现方法
2014/09/23 Python
Python标准库之多进程(multiprocessing包)介绍
2014/11/25 Python
通过数据库向Django模型添加字段的示例
2015/07/21 Python
Python设置默认编码为utf8的方法
2016/07/01 Python
python fabric实现远程部署
2017/01/05 Python
python字典快速保存于读取的方法
2018/03/23 Python
Python实现的凯撒密码算法示例
2018/04/12 Python
python实现输出一个序列的所有子序列示例
2019/11/18 Python
解决Python图形界面中设置尺寸的问题
2020/03/05 Python
对django 2.x版本中models.ForeignKey()外键说明介绍
2020/03/30 Python
详解android与HTML混合开发总结
2018/06/06 HTML / CSS
澳大利亚最大的女装零售商:Millers
2017/09/10 全球购物
美国围栏公司:Walpole Outdoors
2019/11/19 全球购物
幼儿教师培训感言
2014/03/08 职场文书
机关党员公开承诺书
2014/08/30 职场文书
乡镇领导干部个人对照检查材料思想汇报
2014/09/23 职场文书
nginx共享内存的机制详解
2022/03/21 Servers
使用Apache Camel表达REST服务的方法
2022/06/10 Servers