使用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基础教程之popen函数操作其它程序的输入和输出示例
Feb 10 Python
python益智游戏计算汉诺塔问题示例
Mar 05 Python
使用Python的urllib2模块处理url和图片的技巧两则
Feb 18 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
Apr 16 Python
75条笑死人的知乎神回复,用60行代码就爬完了
May 06 Python
在PYQT5中QscrollArea(滚动条)的使用方法
Jun 14 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
Jul 01 Python
简单了解Django应用app及分布式路由
Jul 24 Python
创建Shapefile文件并写入数据的例子
Nov 26 Python
django formset实现数据表的批量操作的示例代码
Dec 06 Python
Python实现自动访问网页的例子
Feb 21 Python
Python实现队列的方法示例小结【数组,链表】
Feb 22 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简单系统查询模块代码打包下载
2008/06/07 PHP
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
2014/11/08 PHP
PHP dirname(__FILE__)原理及用法解析
2020/10/28 PHP
JavaScript基本概念初级讲解论坛贴的学习记录
2009/02/22 Javascript
JavaScript 获取用户客户端操作系统版本
2009/08/25 Javascript
JavaScript 对话框和状态栏使用说明
2009/10/25 Javascript
Jquery中增加参数与Json转换代码
2009/11/20 Javascript
JS代码放在head和body中的区别分析
2011/12/01 Javascript
通过正则表达式实现表单验证是否为中文
2014/02/18 Javascript
js+html5获取用户地理位置信息并在Google地图上显示的方法
2015/06/05 Javascript
js 将图片连接转换成base64格式的简单实例
2016/08/10 Javascript
javascript实现图片左右滚动效果【可自动滚动,有左右按钮】
2016/09/19 Javascript
js学习笔记之事件处理模型
2016/10/31 Javascript
JavaScript中从setTimeout与setInterval到AJAX异步
2017/02/13 Javascript
微信小程序 出现错误:{&quot;baseresponse&quot;:{&quot;errcode&quot;:-80002,&quot;errmsg&quot;:&quot;&quot;}}解决办法
2017/02/23 Javascript
Vue.js实现实例搜索应用功能详细代码
2017/08/24 Javascript
vue2单元测试环境搭建
2018/05/24 Javascript
判断iOS、Android以及PC端的示例代码
2018/11/15 Javascript
微信小程序利用for循环解决内容变更问题
2020/03/05 Javascript
Python中多线程及程序锁浅析
2015/01/21 Python
用Python编写web API的教程
2015/04/30 Python
详解Python自建logging模块
2018/01/29 Python
Python 带有参数的装饰器实例代码详解
2018/12/06 Python
Python multiprocess pool模块报错pickling error问题解决方法分析
2019/03/20 Python
python进行OpenCV实战之画图(直线、矩形、圆形)
2020/08/27 Python
python使用正则表达式匹配txt特定字符串(有换行)
2020/12/09 Python
某个公司的Java笔面试题
2016/03/11 面试题
初中女生自我鉴定
2013/12/19 职场文书
结婚典礼证婚词
2014/01/08 职场文书
餐饮收银员岗位职责
2014/02/07 职场文书
理工学院学生自我鉴定
2014/02/23 职场文书
法定代表人授权委托书
2014/04/04 职场文书
同意转租证明
2015/06/24 职场文书
小学语文国培研修日志
2015/11/13 职场文书
Python各协议下socket黏包问题原理
2022/04/12 Python
Android实现图片九宫格
2022/06/28 Java/Android