使用Python计算玩彩票赢钱概率

 更新时间:2019年06月26日 08:30:18   作者:淡淡博客  
这篇文章主要介绍了玩彩票赢钱概率有多少?用Python来告诉你,需要的朋友可以参考下

工具: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

可以看出输:赢:平=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

可以看出按照概率购买之后比值为:

输:赢:平=3733:3761:2506

相对之前完全随机购买

输:赢:平=6037:1886:2077

赢得几率提升了不少,甚至赢>输,说的我都想翘课买彩票了。

好了回到正题。珍爱生命,远离黄赌毒。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python实现复杂对象转JSON的方法示例

    Python实现复杂对象转JSON的方法示例

    这篇文章主要介绍了Python实现复杂对象转JSON的方法,结合具体实例形式分析了Python针对json转换的相关操作技巧,需要的朋友可以参考下
    2017-06-06
  • Python TCPServer 多线程多客户端通信的实现

    Python TCPServer 多线程多客户端通信的实现

    这篇文章主要介绍了Python TCPServer 多线程多客户端通信的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 详解如何在python中读写和存储matlab的数据文件(*.mat)

    详解如何在python中读写和存储matlab的数据文件(*.mat)

    这篇文章主要介绍了详解如何在python中读写和存储matlab的数据文件(*.mat),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • Python Tkinter对话框控件使用详解

    Python Tkinter对话框控件使用详解

    Tkinter中提供了三种对话框控件:文件选择对话框、颜色选择对话框和消息对话框。本文将具体为大家介绍一下这三种对话框的使用,需要的可以参考一下
    2022-01-01
  • python生成指定长度的随机数密码

    python生成指定长度的随机数密码

    这篇文章主要介绍了python生成指定长度的随机密码示例,密码使用数字和字母组合,大家参考使用吧
    2014-01-01
  • TF-IDF与余弦相似性的应用(一) 自动提取关键词

    TF-IDF与余弦相似性的应用(一) 自动提取关键词

    这篇文章主要为大家详细介绍了TF-IDF与余弦相似性的应用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • 详解Python调用华为API实现图像标签

    详解Python调用华为API实现图像标签

    华为云图像标签可识别上千种通用物体以及数百种场景标签,一个图像可包含多个标签内容,语义内容非常丰富。本文将通过Python调用华为API实现图像标签,需要的可以参考一下
    2022-04-04
  • 4行Python代码生成图像验证码(2种)

    4行Python代码生成图像验证码(2种)

    这篇文章主要介绍了4行Python代码生成图像验证码(2种),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • pytorch模型存储的2种实现方法

    pytorch模型存储的2种实现方法

    今天小编就为大家分享一篇pytorch模型存储的2种实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • flask框架json数据的拿取和返回操作示例

    flask框架json数据的拿取和返回操作示例

    这篇文章主要介绍了flask框架json数据的拿取和返回操作,结合实例形式分析了flask框架针对json格式数据的解析、数据库操作与输出等相关操作技巧,需要的朋友可以参考下
    2019-11-11

最新评论