其他分享
首页 > 其他分享> > 远离菠~菜,数据说话

远离菠~菜,数据说话

作者:互联网

    突发现一某菠菜(BOCAI)网站, 百度了下,什么必胜策略,倍投技巧,其实都大同小异,都是根据开奖走势预测,根据多数的文章描述简单绘制一个流程图:

那么,首先要获取网站的历史数据,这个时候爬虫就派上用场啦,爬取了近一个星期的开奖数据(一分钟一局),以下是部分数据:

第二步,根据预设的策略模拟下注,以下是源码:

class Project:
    def __init__(self):
        self.money = 200
        self.recyle = 1
        self.dataList = []
        self.unLock = True
        self.playLock = True
        
    # 每分钟录入数据
    def ipt(self, data):
        self.new_one = data
        self.dataList.append(data)
    
    def check(self):
        if (len(self.dataList) >=5) and (self.unLock):
            latest_five_num = set(self.dataList[-5:])
            if len(latest_five_num) == 1:
                num = list(latest_five_num)[0]
                self.unLock = False
                self.num = 1 if num == 2 else 2
                self.startMoney = 1
                self.mul = 1
                self.money = self.money - self.startMoney
                if self.money > 0:
                    print('激活列表:{}'.format(self.dataList[-5:]))    
                    self.play()   
                    self.recyle = 2
                else:
                    print('输光啦1')
                    sys.exit(0)
    
    # 投注
    def play(self):
        input_money = self.startMoney * self.mul   
        print('第{}次投{} : {}元'.format(self.recyle, self.num, input_money))
        print('投注后当前剩余金额:{}'.format(self.money))
        self.current_earn_money = input_money * 2
      
    def isSame(self):
        if self.unLock == False:       
            if self.new_one == self.num:
                self.unLock =True
                self.money = self.money + self.current_earn_money
                print('中奖后当前剩余金额:{}'.format(self.money))
                self.recyle = 1
            else:
                if self.recyle <= 5:
                    self.mul = self.mul * 3
                    self.money = self.money - self.startMoney * self.mul
                    if self.money > 0:
                        self.play()
                        self.recyle += 1
                    else:
                        print('输光啦2')
                        self.plot()
                        sys.exit(0) 
                else:
                    self.unLock =True
                    self.recyle = 1
    # 可视化
    def plot(self):
        plt.plot(list(range(len(self.output))), self.output)
    
    # 主程序
    def main(self):
        self.output = []
        for i in data['isDouble']:     
        # 检查是否激活 并 投注
            self.check()
        # 每分钟录入一个新元素
            self.ipt(i)
        # 检查 新元素 和 最后一个号码是否一致
            self.isSame()
            self.output.append(self.money)

第三步,执行,以下是部分执行结果:

可以看到初始投入200,最后输剩下52,并且已经不能倍投, 简单可视化之后:

那么,是否这个策略就不行了,也不完全错,但有个前提,就是本金足够大,以下设置本金为2000000000000,结果如下:

那么可以看到,最后还是有盈利1627的,但对于这本金来说,回报率比放银行还低!

所有,最后,小编也奉劝大家:little buy怡情,远离bo~cai

标签:说话,money,self,远离,print,num,recyle,数据,def
来源: https://blog.csdn.net/qq_41705041/article/details/106457735