使用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 相关文章推荐
动态创建类实例代码
Oct 07 Python
Python XML RPC服务器端和客户端实例
Nov 22 Python
在GitHub Pages上使用Pelican搭建博客的教程
Apr 25 Python
深入讲解Python函数中参数的使用及默认参数的陷阱
Mar 13 Python
Pycharm学习教程(5) Python快捷键相关设置
May 03 Python
轻松理解Python 中的 descriptor
Sep 15 Python
Python cookbook(数据结构与算法)保存最后N个元素的方法
Feb 13 Python
Python检测数据类型的方法总结
May 20 Python
python中with语句结合上下文管理器操作详解
Dec 19 Python
Macbook安装Python最新版本、GUI开发环境、图像处理、视频处理环境详解
Feb 17 Python
Python机器学习之KNN近邻算法
May 14 Python
Python绘制散乱的点构成的图的方法
Apr 21 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设置编码格式的方法
2013/03/05 PHP
Thinkphp实现自动验证和自动完成
2015/12/19 PHP
PHP中Restful api 错误提示返回值实现思路
2016/04/12 PHP
JavaScript Cookie的读取和写入函数
2009/12/08 Javascript
jQuery中json对象的复制方式介绍(数组及对象)
2013/06/08 Javascript
jQuery.fn和jQuery.prototype区别介绍
2013/10/05 Javascript
js中键盘事件实例简析
2015/01/10 Javascript
谷歌Chrome浏览器扩展程序开发小记
2016/01/06 Javascript
jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法
2016/01/19 Javascript
vue-cli 自定义指令directive 添加验证滑块示例
2017/10/19 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
2017/12/26 Javascript
JS 实现微信扫一扫功能
2018/09/14 Javascript
vue表单验证你真的会了吗?vue表单验证(form)validate
2019/04/07 Javascript
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
解决vue组件props传值对象获取不到的问题
2019/06/06 Javascript
JQuery 实现文件下载的常用方法分析
2019/10/29 jQuery
Python中让MySQL查询结果返回字典类型的方法
2014/08/22 Python
Python如何为图片添加水印
2016/11/25 Python
Python探索之修改Python搜索路径
2017/10/25 Python
Python爬虫实例爬取网站搞笑段子
2017/11/08 Python
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
2018/06/13 Python
Python实现的统计文章单词次数功能示例
2019/07/08 Python
Django 开发调试工具 Django-debug-toolbar使用详解
2019/07/23 Python
使用pyqt 实现重复打开多个相同界面
2019/12/13 Python
python中使用input()函数获取用户输入值方式
2020/05/03 Python
python3中确保枚举值代码分析
2020/12/02 Python
python3代码输出嵌套式对象实例详解
2020/12/03 Python
Python实现Kerberos用户的增删改查操作
2020/12/14 Python
CSS的pointer-events属性详细介绍(作用和注意事项)
2014/04/23 HTML / CSS
HTML5网页音乐播放器的示例代码
2017/11/09 HTML / CSS
《愚公移山》教学反思
2014/02/20 职场文书
公务员试用期满考核材料
2014/05/22 职场文书
党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
2015年母亲节活动总结
2015/02/10 职场文书
职位证明模板
2015/06/23 职场文书
利用Python判断你的密码难度等级
2021/06/02 Python