使用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入门_浅谈for循环、while循环
May 16 Python
机器学习10大经典算法详解
Dec 07 Python
Python机器学习之决策树算法
Dec 22 Python
使用python为mysql实现restful接口
Jan 05 Python
Python使用pickle模块实现序列化功能示例
Jul 13 Python
python调用opencv实现猫脸检测功能
Jan 15 Python
python tkinter图形界面代码统计工具
Sep 18 Python
PyQt5实现简单的计算器
May 30 Python
Python错误的处理方法
Jun 23 Python
Python绘图实现台风路径可视化代码实例
Oct 23 Python
matplotlib自定义鼠标光标坐标格式的实现
Jan 08 Python
Python序列化与反序列化相关知识总结
Jun 08 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和MySQL保存和输出图片
2006/10/09 PHP
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
2013/07/03 PHP
PHP系统命令函数使用分析
2013/07/05 PHP
CI框架验证码CAPTCHA辅助函数用法实例
2014/11/05 PHP
js String对象中常用方法小结(字符串操作)
2012/01/27 Javascript
JSCode all of Brower 全局屏蔽网页右键功能 具体实现
2013/06/05 Javascript
js 剪切板的用法(clipboardData.setData)与js match函数介绍
2013/11/19 Javascript
jQuery中操控hidden、disable等无值属性的方法
2014/01/06 Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
2015/12/04 Javascript
jQuery实现的鼠标经过时变宽的效果(附demo源码)
2016/04/28 Javascript
聊一聊JavaScript作用域和作用域链
2016/05/03 Javascript
JS文件上传神器bootstrap fileinput详解
2021/01/28 Javascript
vue绑定class与行间样式style详解
2017/08/16 Javascript
javascript用rem来做响应式开发
2018/01/13 Javascript
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
vue基础之事件v-onclick=&quot;函数&quot;用法示例
2019/03/11 Javascript
javascript for循环性能测试示例
2019/08/07 Javascript
js+for循环实现字符串自动转义的代码(把后面的字符替换前面的字符)
2020/12/24 Javascript
[02:30]DOTA2英雄基础教程 暗影恶魔
2013/12/17 DOTA
[56:18]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第二局
2016/03/05 DOTA
Python time模块详解(常用函数实例讲解,非常好)
2014/04/24 Python
简单介绍Python2.x版本中的cmp()方法的使用
2015/05/20 Python
python数据结构之线性表的顺序存储结构
2018/09/28 Python
pandas按行按列遍历Dataframe的几种方式
2019/10/23 Python
使用Python来做一个屏幕录制工具的操作代码
2020/01/18 Python
详解pandas.DataFrame.plot() 画图函数
2020/06/14 Python
大女孩胸罩:Big Girls Bras
2016/12/15 全球购物
怎么写好自荐信
2013/10/30 职场文书
《一本男孩子必读的书》教学反思
2014/02/19 职场文书
运动会方阵口号
2014/06/07 职场文书
作风转变心得体会
2014/09/02 职场文书
酒店管理专业毕业生自我鉴定
2014/09/29 职场文书
三严三实心得体会范文
2014/10/13 职场文书
培训简讯范文
2015/07/20 职场文书
话题作文之呼唤
2019/12/18 职场文书
pyqt5蒙版遮罩mask,setmask的使用
2021/06/11 Python