博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
世界杯买球算法
阅读量:4080 次
发布时间:2019-05-25

本文共 3252 字,大约阅读时间需要 10 分钟。

今年世界杯不太平,大家买球的输了不少吧,反正我一直在输,研究了下赔率和返还率,写了个算法。在确定预期收入的情况下,确定各赔率下的压金,可以根据实际情况从中选择两个投注,赢面大些。

返还率 = 预期收入 / 总投入

想算算威廉希尔和竞彩官方有没有稳赢的组合,结果没有。

import requestsfrom bs4 import BeautifulSoupimport jsonclass fiFa():    def __init__(self, atuple):        # self.winOdds = winOdds        # self.drawOdds = drawOdds        # self.lossOdds = lossOdds        self.winOdds,self.drawOdds,self.lossOdds = atuple        self.winOdds,self.drawOdds,self.lossOdds = float(self.winOdds),float(self.drawOdds),float(self.lossOdds)        winput = 100 / self.winOdds        drawput = 100 / self.drawOdds        lossput = 100 / self.lossOdds        totalput = winput + drawput + lossput        self.winper = winput / totalput        self.drawper = drawput / totalput        self.lossper = lossput / totalput    def printf(self, win=None, draw=None, loss=None):        if win != None:            total = win / self.winper            my_draw_put = total * self.drawper            my_loss_put = total * self.lossper            print("胜压:{}\n平压:{}\n负压:{}\n总投入:{}\n预期收入:{}\n".format(win, my_draw_put, my_loss_put, total, win*self.winOdds))        elif draw != None:            total = draw / self.drawper            my_win_put = total * self.winper            my_loss_put = total * self.lossper            print("胜压:{}\n平压:{}\n负压:{}\n总投入:{}\n预期收入:{}\n".format(my_win_put, draw, my_loss_put, total, draw*self.drawOdds))        elif loss != None:            total = loss / self.lossper            my_win_put = total * self.winper            my_draw_put = total * self.drawper            print("胜压:{}\n平压:{}\n负压:{}\n总投入:{}\n预期收入:{}\n".format(my_win_put, draw, loss, total, loss*self.lossOdds))    def per(self):        print("赢的概率{}\n平的概率draw{}\n负的概率loss{}".format(self.winper, self.drawper, self.lossper))    def expincome(self, exp):        win_put = exp / self.winOdds        draw_put = exp / self.drawOdds        loss_put = exp / self.lossOdds        # total = win_put + draw_put + loss_put        return win_put, draw_put, loss_put# 想算算威廉希尔和竞彩官方有没有稳赢的组合,结果没有。def sy(a, b):    exp = 100    t = a.expincome(exp)    w = b.expincome(exp)    z = tuple(zip(t, w))    for i in z[0]:        for j in z[1]:            for p in z[2]:                myinput = i + j + p                if myinput < exp:                    print("______稳赢组合______:", i, j, p)def vs_information(num,rjson):    h_cn = rjson['data'][num]['h_cn']    a_cn = rjson['data'][num]['a_cn']    date = rjson['data'][num]['date']    time = rjson['data'][num]['time']    print('比赛日期:{} {} {}VS{}'.format(date,time,h_cn,a_cn))    print('胜%s,平%s,负%s' % get_odds(num,rjson))def get_odds(num,rjson):    vin = rjson['data'][num]['had']['h']    draw = rjson['data'][num]['had']['d']    loss = rjson['data'][num]['had']['a']    return vin,draw,lossdef result(num,rjson,p=100):        vs_information(num,rjson)    jingcai = fiFa(get_odds(num,rjson))    jingcai.printf(win=p)if __name__ == '__main__':    # 抓取实时赔率    html = requests.get("http://i.sporttery.cn/odds_calculator/get_odds?i_format=json&i_callback=getData&poolcode[]=hhad&poolcode[]=had&_=1529656976684")    rjson = json.loads(html.text.lstrip('getData(').rstrip(');'))    for id in rjson['data']:        if rjson['data'][id]['l_cn'] == "世界杯":            result(id,rjson)

结果:

你可能感兴趣的文章
烈焰SWF解密
查看>>
Qt 静态编译后的exe太大, 可以这样压缩.
查看>>
3D游戏常用技巧Normal Mapping (法线贴图)原理解析——基础篇
查看>>
乘法逆元
查看>>
STL源码分析----神奇的 list 的 sort 算法实现
查看>>
Linux下用math.h头文件
查看>>
Linux中用st_mode判断文件类型
查看>>
Ubuntu修改host遇到unable to resolve host
查看>>
路由选择算法
查看>>
Objective-C 基础入门(一)
查看>>
Objective-C 基础入门(三) 读写文件与回调
查看>>
C++ STL标准库与泛型编程(一)概述
查看>>
C++ STL标准库与泛型编程(四)Deque、Queue、Stack 深度探索
查看>>
C++ STL标准库 算法
查看>>
JVM内存模型_Minor GC笔记
查看>>
SpringCloud学习之PassCloud——(一)PassCloud源代码下载
查看>>
Linux下安装Python环境并部署NLP项目
查看>>
Nginx篇-springCloud配置Gateway+Nginx进行反向代理和负载均衡
查看>>
Nginx篇-Nginx配置动静分离
查看>>
缓存篇-Redis缓存失效以及解决方案
查看>>