使用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实现rest请求api示例
Apr 22 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
Jul 27 Python
Django实现组合搜索的方法示例
Jan 23 Python
Python 元组拆包示例(Tuple Unpacking)
Dec 24 Python
Python基于pygame实现单机版五子棋对战
Dec 26 Python
python 实现简单的FTP程序
Dec 27 Python
Tensorflow累加的实现案例
Feb 05 Python
Python模块相关知识点小结
Mar 09 Python
TensorFLow 数学运算的示例代码
Apr 21 Python
tensorflow pb to tflite 精度下降详解
May 25 Python
使用Python爬取Json数据的示例代码
Dec 07 Python
使用Python开发贪吃蛇游戏 SnakeGame
Apr 30 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动态输出JavaScript代码实例
2015/02/12 PHP
PHP PDOStatement::bindColumn讲解
2019/01/30 PHP
我遇到的参数传递中 双引号单引号嵌套问题
2010/02/11 Javascript
分页栏的web标准实现
2011/11/01 Javascript
JS 添加网页桌面快捷方式的代码详细整理
2012/12/27 Javascript
jQuery筛选器children()案例详解(图文)
2013/02/17 Javascript
javascript中replace( )方法的使用
2015/04/24 Javascript
jquery实现键盘左右翻页特效
2015/04/30 Javascript
在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法
2016/08/05 Javascript
nodejs搭建本地服务器并访问文件的方法
2017/03/03 NodeJs
VUE axios发送跨域请求需要注意的问题
2017/07/06 Javascript
JS验证码实现代码
2017/09/14 Javascript
js 将canvas生成图片保存,或直接保存一张图片的实现方法
2018/01/02 Javascript
Vuejs 单文件组件实例详解
2018/02/09 Javascript
select标签设置默认选中的选项方法
2018/03/02 Javascript
详解如何构建一个Angular6的第三方npm包
2018/09/07 Javascript
vue的for循环使用方法
2019/02/12 Javascript
JS判断数组四种实现方法详解
2020/06/29 Javascript
Python中MYSQLdb出现乱码的解决方法
2014/10/11 Python
python 3.6 tkinter+urllib+json实现火车车次信息查询功能
2017/12/20 Python
python中嵌套函数的实操步骤
2019/02/27 Python
python正则-re的用法详解
2019/07/28 Python
在python中使用nohup命令说明
2020/04/16 Python
快速解决jupyter notebook启动需要密码的问题
2020/04/21 Python
怎么快速自学python
2020/06/22 Python
python中Django文件上传方法详解
2020/08/05 Python
python实现杨辉三角的几种方法代码实例
2021/03/02 Python
HTML5 文件上传下载的实例代码
2017/07/03 HTML / CSS
大学生个人求职信范文
2013/09/21 职场文书
大学生优秀团员事迹材料
2014/01/30 职场文书
我们的节日清明节活动总结
2014/04/30 职场文书
机械工程及自动化专业求职信
2014/09/03 职场文书
改作风抓落实促发展心得体会
2014/09/10 职场文书
股东合作协议书
2014/09/12 职场文书
乡镇党委书记第三阶段个人整改措施
2014/09/16 职场文书
县政协领导班子群众路线教育实践活动四风问题整改方案
2014/10/26 职场文书