コード例 #1
0
ファイル: FrameSafe.py プロジェクト: myserver368/ssqpython
    def __init__(self, parent):
        self._init_ctrls(parent)
        #命令行提示
        print (u'FrameSafe启动').encode(locale.getdefaultlocale()[1])

        #显示面板清空
        #self.textCtrl1.Clear()

        #显示面板清空
        self.textCtrl1.Clear()
        #提示
        self.textCtrl1.AppendText(u'请先选择需要被过滤的文件!\n')
        #读取开奖数据
        data_array = readDataFileToArray()
        #最新一期的期号
        global date #保存数据时会用到,故global        
        date = int(data_array[0][0])        
##        #读取过滤数据
##        global predict_data #生成缩水条件1时会用到过滤数据,故global
##        predict_data, predict_filter, select_num =readPredictData(date+1)
##        self.textCtrl1.AppendText(u'已读取过滤后数据“%s过滤数据.txt”'%(date+1))
##        self.textCtrl1.AppendText(u'(%d组)\n'%len(predict_data))
##        
##        global data_s #调用总的过滤后数据
##        data_s = predict_data #初始时,过滤后数据等于预测数据
        
        global safe_nums #稳胆号码初始化均为False
        for i in range(0, 33):
            safe_nums.append(False)        
コード例 #2
0
    def __init__(self, parent):
        self._init_ctrls(parent)
        #命令行提示
        print(u'FrameSafe启动').encode(locale.getdefaultlocale()[1])

        #显示面板清空
        #self.textCtrl1.Clear()

        #显示面板清空
        self.textCtrl1.Clear()
        #提示
        self.textCtrl1.AppendText(u'请先选择需要被过滤的文件!\n')
        #读取开奖数据
        data_array = readDataFileToArray()
        #最新一期的期号
        global date  #保存数据时会用到,故global
        date = int(data_array[0][0])
        ##        #读取过滤数据
        ##        global predict_data #生成缩水条件1时会用到过滤数据,故global
        ##        predict_data, predict_filter, select_num =readPredictData(date+1)
        ##        self.textCtrl1.AppendText(u'已读取过滤后数据“%s过滤数据.txt”'%(date+1))
        ##        self.textCtrl1.AppendText(u'(%d组)\n'%len(predict_data))
        ##
        ##        global data_s #调用总的过滤后数据
        ##        data_s = predict_data #初始时,过滤后数据等于预测数据

        global safe_nums  #稳胆号码初始化均为False
        for i in range(0, 33):
            safe_nums.append(False)
コード例 #3
0
 def __init__(self, parent):
     self._init_ctrls(parent)
     #命令行提示
     print (u'FrameOptional启动').encode(locale.getdefaultlocale()[1])
     #数据读取
     global data_array
     data_array = readDataFileToArray()
     #窗口显示更新
     self.textCtrl1.Clear()
     self.textCtrl1.AppendText(u'开始自选过滤吧……\n')
     #数据清空
     global datas
     datas = []
コード例 #4
0
    def __init__(self, parent):
        self._init_ctrls(parent)
        #命令行提示
        print (u'FrameBlue启动').encode(locale.getdefaultlocale()[1])
        
        #调整位置
        self.Center()
        
        global data_array, blue_times, blue_step, blue_drop
        #读取开奖数据
        data_array = readDataFileToArray()
        #蓝球数据统计及计算
        blue_times, blue_step, blue_drop = blueCoumpute(data_array)   

        #设置焦点(主要是为了捕捉键盘输入)
        self.SetFocus()
コード例 #5
0
    def __init__(self, parent):
        self._init_ctrls(parent)
        #命令行提示
        print(u'FrameRedShrink启动').encode(locale.getdefaultlocale()[1])

        #显示面板清空
        self.textCtrl1.Clear()
        #读取开奖数据
        data_array = readDataFileToArray()
        #最新一期的期号
        global date  #保存数据时会用到,故global
        date = int(data_array[0][0])
        #读取过滤数据
        global predict_data  #生成缩水条件1时会用到过滤数据,故global
        predict_data, predict_filter, select_num = readPredictData(date + 1)
        self.textCtrl1.AppendText(u'已读取过滤后数据“%s过滤数据.txt”' % (date + 1))
        self.textCtrl1.AppendText(u'(%d组)\n' % len(predict_data))

        global data_s  #调用总的过滤后数据
        data_s = predict_data  #初始时,过滤后数据等于预测数据
コード例 #6
0
ファイル: FrameAdvice.py プロジェクト: myserver368/ssqpython
    def __init__(self, parent):
        self._init_ctrls(parent)
        #命令行提示
        print (u'FrameAdvice启动').encode(locale.getdefaultlocale()[1])
        
        data_array = readDataFileToArray() #读取开奖数据
        blue_times, blue_step, blue_drop = blueCoumpute(data_array) #读取篮球出球次数
        blueDatas, adviceDatas, blue_hot, blue_cold = blueAdvice(data_array, blue_times) #读取相关数据
        
        self.textCtrl1.Clear() #清空屏幕
        self.textCtrl1.SetFont(wx.Font(10, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, "")) #字体设置
        
        last_text = '' #前期分析
        last_text = last_text + '最近5期开奖篮球的相关数据:\n'
        for i in range(4, -1, -1):
            last_text = last_text + '%s %s %s %s %s '%(data_array[i][0],data_array[i][7],\
                                                        blueDatas[i]['奇偶'],blueDatas[i]['热冷'],blueDatas[i]['大小'])
            if blueDatas[i]['与上期相同']=='同':
                last_text = last_text + '与上期相同 '
            else:
                last_text = last_text + '与上期不同 '
            if blueDatas[i]['11期内有无']=='有':
                last_text = last_text + '11期内有\n'
            else:
                last_text = last_text + '11期内无\n'

        self.textCtrl1.AppendText(last_text.decode('utf-8')+'\n')#显示上期分析
        
        now_text = '' #本期分析
        #奇偶性分析------------------------------------------------------------------
        now_text = now_text + '奇偶性分析:\n'
        #-
        if blueDatas[0]['奇偶']=='奇': #上一期为奇
            ToOdd = adviceDatas['奇连奇']*100.0/(adviceDatas['奇连奇']+adviceDatas['奇连偶']) #连着奇
            ToEven = adviceDatas['奇连偶']*100.0/(adviceDatas['奇连奇']+adviceDatas['奇连偶']) #连着偶
            now_text = now_text + '奇数连着奇数的概率为:%.2f'%(ToOdd) + '%\n'
            now_text = now_text + '奇数连着偶数的概率为:%.2f'%(ToEven) + '%\n'            
        if blueDatas[0]['奇偶']=='偶': #上一期为偶
            ToOdd = adviceDatas['偶连奇']*100.0/(adviceDatas['偶连奇']+adviceDatas['偶连偶'])
            ToEven = adviceDatas['偶连偶']*100.0/(adviceDatas['偶连奇']+adviceDatas['偶连偶'])          
            now_text = now_text + '偶数连着奇数的概率为:%.2f'%(ToOdd) + '%\n'
            now_text = now_text + '偶数连着偶数的概率为:%.2f'%(ToEven) + '%\n'
        #--   
        if blueDatas[0]['奇偶']=='奇' and blueDatas[1]['奇偶']=='奇': #上一期为奇,上上一期为奇
            ToToOdd = adviceDatas['奇连奇连奇']*100.0/(adviceDatas['奇连奇连奇']+adviceDatas['奇连奇连偶']) #连连着奇
            ToToEven = adviceDatas['奇连奇连偶']*100.0/(adviceDatas['奇连奇连奇']+adviceDatas['奇连奇连偶']) #连连着偶
            now_text = now_text + '奇数连着奇数连着奇数的概率为:%.2f'%(ToToOdd) + '%\n'
            now_text = now_text + '奇数连着奇数连着偶数的概率为:%.2f'%(ToToEven) + '%\n'
        if blueDatas[0]['奇偶']=='奇' and blueDatas[1]['奇偶']=='偶': #上一期为奇,上上一期为偶
            ToToOdd = adviceDatas['偶连奇连奇']*100.0/(adviceDatas['偶连奇连奇']+adviceDatas['偶连奇连偶'])
            ToToEven = adviceDatas['偶连奇连偶']*100.0/(adviceDatas['偶连奇连奇']+adviceDatas['偶连奇连偶'])
            now_text = now_text + '偶数连着奇数连着奇数的概率为:%.2f'%(ToToOdd) + '%\n'
            now_text = now_text + '偶数连着奇数连着偶数的概率为:%.2f'%(ToToEven) + '%\n'             
        if blueDatas[0]['奇偶']=='偶' and blueDatas[1]['奇偶']=='奇': #上一期为偶,上上一期为奇
            ToToOdd = adviceDatas['奇连偶连奇']*100.0/(adviceDatas['奇连偶连奇']+adviceDatas['奇连偶连偶'])
            ToToEven = adviceDatas['奇连偶连偶']*100.0/(adviceDatas['奇连偶连奇']+adviceDatas['奇连偶连偶'])
            now_text = now_text + '奇数连着偶数连着奇数的概率为:%.2f'%(ToToOdd) + '%\n'
            now_text = now_text + '奇数连着偶数连着偶数的概率为:%.2f'%(ToToEven) + '%\n'            
        if blueDatas[0]['奇偶']=='偶' and blueDatas[1]['奇偶']=='偶': #上一期为偶,上上一期为偶
            ToToOdd = adviceDatas['偶连偶连奇']*100.0/(adviceDatas['偶连偶连奇']+adviceDatas['偶连偶连偶'])
            ToToEven = adviceDatas['偶连偶连偶']*100.0/(adviceDatas['偶连偶连奇']+adviceDatas['偶连偶连偶'])           
            now_text = now_text + '偶数连着偶数连着奇数的概率为:%.2f'%(ToToOdd) + '%\n'
            now_text = now_text + '偶数连着偶数连着偶数的概率为:%.2f'%(ToToEven) + '%\n'         
        #热冷性分析------------------------------------------------------------------
        now_text = now_text + '\n热冷性分析:\n'
        #-
        if blueDatas[0]['热冷']=='热': #上一期为热
            ToCold = adviceDatas['热连冷']*100.0/(adviceDatas['热连冷']+adviceDatas['热连热'])
            ToHot = adviceDatas['热连热']*100.0/(adviceDatas['热连冷']+adviceDatas['热连热'])
            now_text = now_text + '热号连着冷号的概率为:%.2f'%(ToCold) + '%\n'
            now_text = now_text + '热号连着热号的概率为:%.2f'%(ToHot) + '%\n'
        if blueDatas[0]['热冷']=='冷': #上一期为冷
            ToCold = adviceDatas['冷连冷']*100.0/(adviceDatas['冷连冷']+adviceDatas['冷连热'])
            ToHot = adviceDatas['冷连热']*100.0/(adviceDatas['冷连冷']+adviceDatas['冷连热'])
            now_text = now_text + '冷号连着冷号的概率为:%.2f'%(ToCold) + '%\n'
            now_text = now_text + '冷号连着热号的概率为:%.2f'%(ToHot) + '%\n'
        #--
        if blueDatas[0]['热冷']=='热' and blueDatas[1]['热冷']=='热': #上一期为热,上上一期为热
            ToToCold = adviceDatas['热连热连冷']*100.0/(adviceDatas['热连热连冷']+adviceDatas['热连热连热'])
            ToToHot = adviceDatas['热连热连热']*100.0/(adviceDatas['热连热连冷']+adviceDatas['热连热连热'])
            now_text = now_text + '热号连着热号连着冷号的概率为:%.2f'%(ToToCold) + '%\n'
            now_text = now_text + '热号连着热号连着热号的概率为:%.2f'%(ToToHot) + '%\n'
        if blueDatas[0]['热冷']=='热' and blueDatas[1]['热冷']=='冷': #上一期为热,上上一期为冷
            ToToCold = adviceDatas['冷连热连冷']*100.0/(adviceDatas['冷连热连冷']+adviceDatas['冷连热连热'])
            ToToHot = adviceDatas['冷连热连热']*100.0/(adviceDatas['冷连热连冷']+adviceDatas['冷连热连热'])
            now_text = now_text + '热号连着热号连着冷号的概率为:%.2f'%(ToToCold) + '%\n'
            now_text = now_text + '热号连着热号连着热号的概率为:%.2f'%(ToToHot) + '%\n'
        if blueDatas[0]['热冷']=='冷' and blueDatas[1]['热冷']=='热': #上一期为冷,上上一期为热
            ToToCold = adviceDatas['热连冷连冷']*100.0/(adviceDatas['热连冷连冷']+adviceDatas['热连冷连热'])
            ToToHot = adviceDatas['热连冷连热']*100.0/(adviceDatas['热连冷连冷']+adviceDatas['热连冷连热'])
            now_text = now_text + '热号连着冷号连着冷号的概率为:%.2f'%(ToToCold) + '%\n'
            now_text = now_text + '热号连着冷号连着热号的概率为:%.2f'%(ToToHot) + '%\n'
        if blueDatas[0]['热冷']=='冷' and blueDatas[1]['热冷']=='冷': #上一期为冷,上上一期为冷
            ToToCold = adviceDatas['冷连冷连冷']*100.0/(adviceDatas['冷连冷连冷']+adviceDatas['冷连冷连热'])
            ToToHot = adviceDatas['冷连冷连热']*100.0/(adviceDatas['冷连冷连冷']+adviceDatas['冷连冷连热'])
            now_text = now_text + '冷号连着冷号连着冷号的概率为:%.2f'%(ToToCold) + '%\n'
            now_text = now_text + '冷号连着冷号连着热号的概率为:%.2f'%(ToToHot) + '%\n'
        #大小性分析------------------------------------------------------------------
        now_text = now_text + '\n大小性分析:\n'
        #-
        if blueDatas[0]['大小']=='大': #上一期为大
            ToSmall = adviceDatas['大连小']*100.0/(adviceDatas['大连小']+adviceDatas['大连大'])
            ToBig = adviceDatas['大连大']*100.0/(adviceDatas['大连小']+adviceDatas['大连大'])
            now_text = now_text + '大号连着小号的概率为:%.2f'%(ToSmall) + '%\n'
            now_text = now_text + '大号连着大号的概率为:%.2f'%(ToBig) + '%\n'
        if blueDatas[0]['大小']=='小': #上一期为小
            ToSmall = adviceDatas['小连小']*100.0/(adviceDatas['小连小']+adviceDatas['小连大'])
            ToBig = adviceDatas['小连大']*100.0/(adviceDatas['小连小']+adviceDatas['小连大'])
            now_text = now_text + '小号连着小号的概率为:%.2f'%(ToSmall) + '%\n'
            now_text = now_text + '小号连着大号的概率为:%.2f'%(ToBig) + '%\n'
        #--
        if blueDatas[0]['大小']=='大' and blueDatas[1]['大小']=='大': #上一期为大,上上一期为大
            ToToSmall = adviceDatas['大连大连小']*100.0/(adviceDatas['大连大连小']+adviceDatas['大连大连大'])
            ToToBig = adviceDatas['大连大连大']*100.0/(adviceDatas['大连大连小']+adviceDatas['大连大连大'])
            now_text = now_text + '大号连着大号连着小号的概率为:%.2f'%(ToToSmall) + '%\n'
            now_text = now_text + '大号连着大号连着大号的概率为:%.2f'%(ToToBig) + '%\n'
        if blueDatas[0]['大小']=='大' and blueDatas[1]['大小']=='小': #上一期为大,上上一期为小
            ToToSmall = adviceDatas['小连大连小']*100.0/(adviceDatas['小连大连小']+adviceDatas['小连大连大'])
            ToToBig = adviceDatas['小连大连大']*100.0/(adviceDatas['小连大连小']+adviceDatas['小连大连大'])
            now_text = now_text + '大号连着大号连着小号的概率为:%.2f'%(ToToSmall) + '%\n'
            now_text = now_text + '大号连着大号连着大号的概率为:%.2f'%(ToToBig) + '%\n'
        if blueDatas[0]['大小']=='小' and blueDatas[1]['大小']=='大': #上一期为小,上上一期为大
            ToToSmall = adviceDatas['大连小连小']*100.0/(adviceDatas['大连小连小']+adviceDatas['大连小连大'])
            ToToBig = adviceDatas['大连小连大']*100.0/(adviceDatas['大连小连小']+adviceDatas['大连小连大'])
            now_text = now_text + '大号连着小号连着小号的概率为:%.2f'%(ToToSmall) + '%\n'
            now_text = now_text + '大号连着小号连着大号的概率为:%.2f'%(ToToBig) + '%\n'
        if blueDatas[0]['大小']=='小' and blueDatas[1]['大小']=='小': #上一期为小,上上一期为小
            ToToSmall = adviceDatas['小连小连小']*100.0/(adviceDatas['小连小连小']+adviceDatas['小连小连大'])
            ToToBig = adviceDatas['小连小连大']*100.0/(adviceDatas['小连小连小']+adviceDatas['小连小连大'])
            now_text = now_text + '小号连着小号连着小号的概率为:%.2f'%(ToToSmall) + '%\n'
            now_text = now_text + '小号连着小号连着大号的概率为:%.2f'%(ToToBig) + '%\n'
        #相同性分析------------------------------------------------------------------
        now_text = now_text + '\n相同性分析:\n'
        #-
        if blueDatas[0]['与上期相同']=='同': #上一期为同
            ToDiff = adviceDatas['同连不']*100.0/(adviceDatas['同连不']+adviceDatas['同连同'])
            ToSame = adviceDatas['同连同']*100.0/(adviceDatas['同连不']+adviceDatas['同连同'])
            now_text = now_text + '相同连着不同的概率为:%.2f'%(ToSame) + '%\n'
            now_text = now_text + '相同连着相同的概率为:%.2f'%(ToDiff) + '%\n'
        if blueDatas[0]['与上期相同']=='不': #上一期为不
            ToDiff = adviceDatas['不连不']*100.0/(adviceDatas['不连不']+adviceDatas['不连同'])
            ToSame = adviceDatas['不连同']*100.0/(adviceDatas['不连不']+adviceDatas['不连同'])
            now_text = now_text + '不同连着不同的概率为:%.2f'%(ToSame) + '%\n'
            now_text = now_text + '不同连着相同的概率为:%.2f'%(ToDiff) + '%\n'
        #--
        if blueDatas[0]['与上期相同']=='同' and blueDatas[1]['与上期相同']=='同': #上一期为同,上上一期为同
            ToToDiff = adviceDatas['同连同连不']*100.0/(adviceDatas['同连同连不']+adviceDatas['同连同连同'])
            ToToSame = adviceDatas['同连同连同']*100.0/(adviceDatas['同连同连不']+adviceDatas['同连同连同'])
            now_text = now_text + '相同连着相同连着不同的概率为:%.2f'%(ToToSame) + '%\n'
            now_text = now_text + '相同连着相同连着相同的概率为:%.2f'%(ToToDiff) + '%\n'
        if blueDatas[0]['与上期相同']=='同' and blueDatas[1]['与上期相同']=='不': #上一期为同,上上一期为不
            ToToDiff = adviceDatas['不连同连不']*100.0/(adviceDatas['不连同连不']+adviceDatas['不连同连同'])
            ToToSame = adviceDatas['不连同连同']*100.0/(adviceDatas['不连同连不']+adviceDatas['不连同连同'])
            now_text = now_text + '相同连着相同连着不同的概率为:%.2f'%(ToToSame) + '%\n'
            now_text = now_text + '相同连着相同连着相同的概率为:%.2f'%(ToToDiff) + '%\n'
        if blueDatas[0]['与上期相同']=='不' and blueDatas[1]['与上期相同']=='同': #上一期为不,上上一期为同
            ToToDiff = adviceDatas['同连不连不']*100.0/(adviceDatas['同连不连不']+adviceDatas['同连不连同'])
            ToToSame = adviceDatas['同连不连同']*100.0/(adviceDatas['同连不连不']+adviceDatas['同连不连同'])
            now_text = now_text + '相同连着不同连着不同的概率为:%.2f'%(ToToSame) + '%\n'
            now_text = now_text + '相同连着不同连着相同的概率为:%.2f'%(ToToDiff) + '%\n'
        if blueDatas[0]['与上期相同']=='不' and blueDatas[1]['与上期相同']=='不': #上一期为不,上上一期为不
            ToToDiff = adviceDatas['不连不连不']*100.0/(adviceDatas['不连不连不']+adviceDatas['不连不连同'])
            ToToSame = adviceDatas['不连不连同']*100.0/(adviceDatas['不连不连不']+adviceDatas['不连不连同'])
            now_text = now_text + '不同连着不同连着不同的概率为:%.2f'%(ToToSame) + '%\n'
            now_text = now_text + '不同连着不同连着相同的概率为:%.2f'%(ToToDiff) + '%\n'
        #有无性分析------------------------------------------------------------------
        now_text = now_text + '\n有无性分析:\n'
        #-
        if blueDatas[0]['11期内有无']=='有': #上一期为有
            ToNull = adviceDatas['有连无']*100.0/(adviceDatas['有连无']+adviceDatas['有连有'])
            ToBe = adviceDatas['有连有']*100.0/(adviceDatas['有连无']+adviceDatas['有连有'])
            now_text = now_text + '有号连着无号的概率为:%.2f'%(ToNull) + '%\n'
            now_text = now_text + '有号连着有号的概率为:%.2f'%(ToBe) + '%\n'
        if blueDatas[0]['11期内有无']=='无': #上一期为无
            ToNull = adviceDatas['无连无']*100.0/(adviceDatas['无连无']+adviceDatas['无连有'])
            ToBe = adviceDatas['无连有']*100.0/(adviceDatas['无连无']+adviceDatas['无连有'])
            now_text = now_text + '无号连着无号的概率为:%.2f'%(ToNull) + '%\n'
            now_text = now_text + '无号连着有号的概率为:%.2f'%(ToBe) + '%\n'
        #--
        if blueDatas[0]['11期内有无']=='有' and blueDatas[1]['11期内有无']=='有': #上一期为有,上上一期为有
            ToToNull = adviceDatas['有连有连无']*100.0/(adviceDatas['有连有连无']+adviceDatas['有连有连有'])
            ToToBe = adviceDatas['有连有连有']*100.0/(adviceDatas['有连有连无']+adviceDatas['有连有连有'])
            now_text = now_text + '有号连着有号连着无号的概率为:%.2f'%(ToToNull) + '%\n'
            now_text = now_text + '有号连着有号连着有号的概率为:%.2f'%(ToToBe) + '%\n'
        if blueDatas[0]['11期内有无']=='有' and blueDatas[1]['11期内有无']=='无': #上一期为有,上上一期为无
            ToToNull = adviceDatas['无连有连无']*100.0/(adviceDatas['无连有连无']+adviceDatas['无连有连有'])
            ToToBe = adviceDatas['无连有连有']*100.0/(adviceDatas['无连有连无']+adviceDatas['无连有连有'])
            now_text = now_text + '有号连着有号连着无号的概率为:%.2f'%(ToToNull) + '%\n'
            now_text = now_text + '有号连着有号连着有号的概率为:%.2f'%(ToToBe) + '%\n'
        if blueDatas[0]['11期内有无']=='无' and blueDatas[1]['11期内有无']=='有': #上一期为无,上上一期为有
            ToToNull = adviceDatas['有连无连无']*100.0/(adviceDatas['有连无连无']+adviceDatas['有连无连有'])
            ToToBe = adviceDatas['有连无连有']*100.0/(adviceDatas['有连无连无']+adviceDatas['有连无连有'])
            now_text = now_text + '有号连着无号连着无号的概率为:%.2f'%(ToToNull) + '%\n'
            now_text = now_text + '有号连着无号连着有号的概率为:%.2f'%(ToToBe) + '%\n'
        if blueDatas[0]['11期内有无']=='无' and blueDatas[1]['11期内有无']=='无': #上一期为无,上上一期为无
            ToToNull = adviceDatas['无连无连无']*100.0/(adviceDatas['无连无连无']+adviceDatas['无连无连有'])
            ToToBe = adviceDatas['无连无连有']*100.0/(adviceDatas['无连无连无']+adviceDatas['无连无连有'])
            now_text = now_text + '无号连着无号连着无号的概率为:%.2f'%(ToToNull) + '%\n'
            now_text = now_text + '无号连着无号连着有号的概率为:%.2f'%(ToToBe) + '%\n'

        self.textCtrl1.AppendText(now_text.decode('utf-8')+'\n')#显示本期分析

      
        #推荐估算
        advice_text = u'%s期推荐号码:'%(int(data_array[0][0])+1) #最终推荐
        
        advice_1 = [] #推荐“奇偶”号码(先定义一下,以免出现相等的情况造成错误)
        advice_2 = [] #推荐“热冷”号码
        advice_3 = [] #推荐“大小”号码
        advice_4 = [] #推荐“同不”号码
        advice_5 = [] #推荐“有无”号码
        
        blue_odd = ['01','03','05','07','09','11','13','15']
        blue_even = ['02','04','05','06','10','12','14','16']
        #blue_hot = blue_hot #热冷会在blueAdvice里面直接得到
        #blue_cold = blue_cold 
        blue_small = ['01','02','03','04','05','06','07','08']
        blue_big = ['09','10','11','12','13','14','15','16']
        blue_same = [] #同
        blue_diff = [] #不
        blue_null = [] #有
        blue_be = []   #无
        
        #算出相同号(+-3)    
        if 1+3<=int(data_array[0][7])<=16-3: #正常情况
            for i in range(int(data_array[0][7])-3, int(data_array[0][7])+3+1):
                blue_same.append('%.2d'%i)
        if int(data_array[0][7])<1+3: #小与4的情况
            for i in range(1, int(data_array[0][7])+3+1):
                blue_same.append('%.2d'%i)
            for j in range(int(data_array[0][7])+16-3, 16+1):
                blue_same.append('%.2d'%j)
        if 16-3<int(data_array[0][7]): #大于13的情况
            for i in range(int(data_array[0][7])-3, 16+1):
                blue_same.append('%.2d'%i)
            for j in range(1, int(data_array[0][7])-16+3+1):
                blue_same.append('%.2d'%j)
        #算出不同号                   
        for i in range(0, 16):
            if '%.2d'%(i+1) not in blue_same:
                blue_diff.append('%.2d'%(i+1))
        #统计出有号
        for i in range(0, 11):
            if data_array[i][7] not in blue_be:
                blue_be.append(data_array[i][7])
        #统计出无号
        for i in range(0, 16):
            if '%.2d'%(i+1) not in blue_be:
                blue_null.append('%.2d'%(i+1))
       
        if ToOdd+ToToOdd>ToEven+ToToEven: 
            advice_1 = blue_odd #奇
            #advice_text = advice_text + '奇 '
        if ToOdd+ToToOdd<ToEven+ToToEven:
            advice_1 = blue_even #偶
            #advice_text = advice_text + '偶 '
        if ToCold+ToToCold>ToHot+ToToHot: 
            advice_2 = blue_cold #冷
            #advice_text = advice_text + '冷 '
        if ToCold+ToToCold<ToHot+ToToHot:
            advice_2 = blue_hot #热
            #advice_text = advice_text + '热 '            
        if ToSmall+ToToSmall>ToBig+ToToBig: 
            advice_3 = blue_small #小
            #advice_text = advice_text + '小 '
        if ToSmall+ToToSmall<ToBig+ToToBig:
            advice_3 = blue_big #大
            #advice_text = advice_text + '大 '
        if ToSame+ToToSame>ToDiff+ToToDiff:
            advice_4 = blue_same #同
            #advice_text = advice_text + '同 '
        if ToSame+ToToSame<ToDiff+ToToDiff:
            advice_4 = blue_diff #不
            #advice_text = advice_text + '不 '
        if ToBe+ToToBe>ToNull+ToToNull:
            advice_5 = blue_be #有
            #advice_text = advice_text + '有 '
        if ToBe+ToToBe<ToDiff+ToToNull:
            advice_5 = blue_null #无
            #advice_text = advice_text + '无 '
        '''
        print advice_1
        print advice_2
        print advice_3
        print advice_4
        print advice_5
        '''
        in_advice = [0]*16 #在推荐条件中出现的次数
        for i in range(0, 16):
            if '%.2d'%(i+1) in advice_1:
                in_advice[i] = in_advice[i] + 1
            if '%.2d'%(i+1) in advice_2:
                in_advice[i] = in_advice[i] + 1
            if '%.2d'%(i+1) in advice_3:
                in_advice[i] = in_advice[i] + 1
            if '%.2d'%(i+1) in advice_4:
                in_advice[i] = in_advice[i] + 1
            if '%.2d'%(i+1) in advice_5:
                in_advice[i] = in_advice[i] + 1                 
                
        max_num = [] #最大号码
        min_num = [] #最小号码
        for i in range(0, 16):
            if in_advice[i]==max(in_advice): #是最大
                max_num.append('%.2d'%(i+1))
            #if in_advice[i]<=1:                 
            if in_advice[i]==min(in_advice): #是最小
                min_num.append('%.2d'%(i+1))
        #命令行显示一下
        #print u'本期推荐因子为%d(5为满分)'%(max(in_advice))                
        #print max_num
        #print min_num
        advice_num = [] #推荐号码
        '''
        for i in range(0, 16):
            if ('%.2d'%(i+1) not in max_num) and ('%.2d'%(i+1) not in min_num):
                advice_num.append('%.2d'%(i+1))
        '''
        for i in range(0, 16):
            if '%.2d'%(i+1) in max_num:
                advice_num.append('%.2d'%(i+1))

        advice_text = advice_text + u'\n%s\n'%(str(advice_num))
        advice_text = advice_text + u'本期推荐因子为%d(5为满分)'%(max(in_advice))
        self.textCtrl1.AppendText(advice_text) #显示最终推荐
        #命令行显示一下
        print (u'%s'%advice_text).encode(locale.getdefaultlocale()[1])
コード例 #7
0
    def __init__(self, parent):
        self._init_ctrls(parent)
        #命令行提示
        print(u'FrameAdvice启动').encode(locale.getdefaultlocale()[1])

        data_array = readDataFileToArray()  #读取开奖数据
        blue_times, blue_step, blue_drop = blueCoumpute(data_array)  #读取篮球出球次数
        blueDatas, adviceDatas, blue_hot, blue_cold = blueAdvice(
            data_array, blue_times)  #读取相关数据

        self.textCtrl1.Clear()  #清空屏幕
        self.textCtrl1.SetFont(
            wx.Font(10, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))  #字体设置

        last_text = ''  #前期分析
        last_text = last_text + '最近5期开奖篮球的相关数据:\n'
        for i in range(4, -1, -1):
            last_text = last_text + '%s %s %s %s %s '%(data_array[i][0],data_array[i][7],\
                                                        blueDatas[i]['奇偶'],blueDatas[i]['热冷'],blueDatas[i]['大小'])
            if blueDatas[i]['与上期相同'] == '同':
                last_text = last_text + '与上期相同 '
            else:
                last_text = last_text + '与上期不同 '
            if blueDatas[i]['11期内有无'] == '有':
                last_text = last_text + '11期内有\n'
            else:
                last_text = last_text + '11期内无\n'

        self.textCtrl1.AppendText(last_text.decode('utf-8') + '\n')  #显示上期分析

        now_text = ''  #本期分析
        #奇偶性分析------------------------------------------------------------------
        now_text = now_text + '奇偶性分析:\n'
        #-
        if blueDatas[0]['奇偶'] == '奇':  #上一期为奇
            ToOdd = adviceDatas['奇连奇'] * 100.0 / (
                adviceDatas['奇连奇'] + adviceDatas['奇连偶'])  #连着奇
            ToEven = adviceDatas['奇连偶'] * 100.0 / (
                adviceDatas['奇连奇'] + adviceDatas['奇连偶'])  #连着偶
            now_text = now_text + '奇数连着奇数的概率为:%.2f' % (ToOdd) + '%\n'
            now_text = now_text + '奇数连着偶数的概率为:%.2f' % (ToEven) + '%\n'
        if blueDatas[0]['奇偶'] == '偶':  #上一期为偶
            ToOdd = adviceDatas['偶连奇'] * 100.0 / (adviceDatas['偶连奇'] +
                                                  adviceDatas['偶连偶'])
            ToEven = adviceDatas['偶连偶'] * 100.0 / (adviceDatas['偶连奇'] +
                                                   adviceDatas['偶连偶'])
            now_text = now_text + '偶数连着奇数的概率为:%.2f' % (ToOdd) + '%\n'
            now_text = now_text + '偶数连着偶数的概率为:%.2f' % (ToEven) + '%\n'
        #--
        if blueDatas[0]['奇偶'] == '奇' and blueDatas[1][
                '奇偶'] == '奇':  #上一期为奇,上上一期为奇
            ToToOdd = adviceDatas['奇连奇连奇'] * 100.0 / (
                adviceDatas['奇连奇连奇'] + adviceDatas['奇连奇连偶'])  #连连着奇
            ToToEven = adviceDatas['奇连奇连偶'] * 100.0 / (
                adviceDatas['奇连奇连奇'] + adviceDatas['奇连奇连偶'])  #连连着偶
            now_text = now_text + '奇数连着奇数连着奇数的概率为:%.2f' % (ToToOdd) + '%\n'
            now_text = now_text + '奇数连着奇数连着偶数的概率为:%.2f' % (ToToEven) + '%\n'
        if blueDatas[0]['奇偶'] == '奇' and blueDatas[1][
                '奇偶'] == '偶':  #上一期为奇,上上一期为偶
            ToToOdd = adviceDatas['偶连奇连奇'] * 100.0 / (adviceDatas['偶连奇连奇'] +
                                                      adviceDatas['偶连奇连偶'])
            ToToEven = adviceDatas['偶连奇连偶'] * 100.0 / (adviceDatas['偶连奇连奇'] +
                                                       adviceDatas['偶连奇连偶'])
            now_text = now_text + '偶数连着奇数连着奇数的概率为:%.2f' % (ToToOdd) + '%\n'
            now_text = now_text + '偶数连着奇数连着偶数的概率为:%.2f' % (ToToEven) + '%\n'
        if blueDatas[0]['奇偶'] == '偶' and blueDatas[1][
                '奇偶'] == '奇':  #上一期为偶,上上一期为奇
            ToToOdd = adviceDatas['奇连偶连奇'] * 100.0 / (adviceDatas['奇连偶连奇'] +
                                                      adviceDatas['奇连偶连偶'])
            ToToEven = adviceDatas['奇连偶连偶'] * 100.0 / (adviceDatas['奇连偶连奇'] +
                                                       adviceDatas['奇连偶连偶'])
            now_text = now_text + '奇数连着偶数连着奇数的概率为:%.2f' % (ToToOdd) + '%\n'
            now_text = now_text + '奇数连着偶数连着偶数的概率为:%.2f' % (ToToEven) + '%\n'
        if blueDatas[0]['奇偶'] == '偶' and blueDatas[1][
                '奇偶'] == '偶':  #上一期为偶,上上一期为偶
            ToToOdd = adviceDatas['偶连偶连奇'] * 100.0 / (adviceDatas['偶连偶连奇'] +
                                                      adviceDatas['偶连偶连偶'])
            ToToEven = adviceDatas['偶连偶连偶'] * 100.0 / (adviceDatas['偶连偶连奇'] +
                                                       adviceDatas['偶连偶连偶'])
            now_text = now_text + '偶数连着偶数连着奇数的概率为:%.2f' % (ToToOdd) + '%\n'
            now_text = now_text + '偶数连着偶数连着偶数的概率为:%.2f' % (ToToEven) + '%\n'
        #热冷性分析------------------------------------------------------------------
        now_text = now_text + '\n热冷性分析:\n'
        #-
        if blueDatas[0]['热冷'] == '热':  #上一期为热
            ToCold = adviceDatas['热连冷'] * 100.0 / (adviceDatas['热连冷'] +
                                                   adviceDatas['热连热'])
            ToHot = adviceDatas['热连热'] * 100.0 / (adviceDatas['热连冷'] +
                                                  adviceDatas['热连热'])
            now_text = now_text + '热号连着冷号的概率为:%.2f' % (ToCold) + '%\n'
            now_text = now_text + '热号连着热号的概率为:%.2f' % (ToHot) + '%\n'
        if blueDatas[0]['热冷'] == '冷':  #上一期为冷
            ToCold = adviceDatas['冷连冷'] * 100.0 / (adviceDatas['冷连冷'] +
                                                   adviceDatas['冷连热'])
            ToHot = adviceDatas['冷连热'] * 100.0 / (adviceDatas['冷连冷'] +
                                                  adviceDatas['冷连热'])
            now_text = now_text + '冷号连着冷号的概率为:%.2f' % (ToCold) + '%\n'
            now_text = now_text + '冷号连着热号的概率为:%.2f' % (ToHot) + '%\n'
        #--
        if blueDatas[0]['热冷'] == '热' and blueDatas[1][
                '热冷'] == '热':  #上一期为热,上上一期为热
            ToToCold = adviceDatas['热连热连冷'] * 100.0 / (adviceDatas['热连热连冷'] +
                                                       adviceDatas['热连热连热'])
            ToToHot = adviceDatas['热连热连热'] * 100.0 / (adviceDatas['热连热连冷'] +
                                                      adviceDatas['热连热连热'])
            now_text = now_text + '热号连着热号连着冷号的概率为:%.2f' % (ToToCold) + '%\n'
            now_text = now_text + '热号连着热号连着热号的概率为:%.2f' % (ToToHot) + '%\n'
        if blueDatas[0]['热冷'] == '热' and blueDatas[1][
                '热冷'] == '冷':  #上一期为热,上上一期为冷
            ToToCold = adviceDatas['冷连热连冷'] * 100.0 / (adviceDatas['冷连热连冷'] +
                                                       adviceDatas['冷连热连热'])
            ToToHot = adviceDatas['冷连热连热'] * 100.0 / (adviceDatas['冷连热连冷'] +
                                                      adviceDatas['冷连热连热'])
            now_text = now_text + '热号连着热号连着冷号的概率为:%.2f' % (ToToCold) + '%\n'
            now_text = now_text + '热号连着热号连着热号的概率为:%.2f' % (ToToHot) + '%\n'
        if blueDatas[0]['热冷'] == '冷' and blueDatas[1][
                '热冷'] == '热':  #上一期为冷,上上一期为热
            ToToCold = adviceDatas['热连冷连冷'] * 100.0 / (adviceDatas['热连冷连冷'] +
                                                       adviceDatas['热连冷连热'])
            ToToHot = adviceDatas['热连冷连热'] * 100.0 / (adviceDatas['热连冷连冷'] +
                                                      adviceDatas['热连冷连热'])
            now_text = now_text + '热号连着冷号连着冷号的概率为:%.2f' % (ToToCold) + '%\n'
            now_text = now_text + '热号连着冷号连着热号的概率为:%.2f' % (ToToHot) + '%\n'
        if blueDatas[0]['热冷'] == '冷' and blueDatas[1][
                '热冷'] == '冷':  #上一期为冷,上上一期为冷
            ToToCold = adviceDatas['冷连冷连冷'] * 100.0 / (adviceDatas['冷连冷连冷'] +
                                                       adviceDatas['冷连冷连热'])
            ToToHot = adviceDatas['冷连冷连热'] * 100.0 / (adviceDatas['冷连冷连冷'] +
                                                      adviceDatas['冷连冷连热'])
            now_text = now_text + '冷号连着冷号连着冷号的概率为:%.2f' % (ToToCold) + '%\n'
            now_text = now_text + '冷号连着冷号连着热号的概率为:%.2f' % (ToToHot) + '%\n'
        #大小性分析------------------------------------------------------------------
        now_text = now_text + '\n大小性分析:\n'
        #-
        if blueDatas[0]['大小'] == '大':  #上一期为大
            ToSmall = adviceDatas['大连小'] * 100.0 / (adviceDatas['大连小'] +
                                                    adviceDatas['大连大'])
            ToBig = adviceDatas['大连大'] * 100.0 / (adviceDatas['大连小'] +
                                                  adviceDatas['大连大'])
            now_text = now_text + '大号连着小号的概率为:%.2f' % (ToSmall) + '%\n'
            now_text = now_text + '大号连着大号的概率为:%.2f' % (ToBig) + '%\n'
        if blueDatas[0]['大小'] == '小':  #上一期为小
            ToSmall = adviceDatas['小连小'] * 100.0 / (adviceDatas['小连小'] +
                                                    adviceDatas['小连大'])
            ToBig = adviceDatas['小连大'] * 100.0 / (adviceDatas['小连小'] +
                                                  adviceDatas['小连大'])
            now_text = now_text + '小号连着小号的概率为:%.2f' % (ToSmall) + '%\n'
            now_text = now_text + '小号连着大号的概率为:%.2f' % (ToBig) + '%\n'
        #--
        if blueDatas[0]['大小'] == '大' and blueDatas[1][
                '大小'] == '大':  #上一期为大,上上一期为大
            ToToSmall = adviceDatas['大连大连小'] * 100.0 / (adviceDatas['大连大连小'] +
                                                        adviceDatas['大连大连大'])
            ToToBig = adviceDatas['大连大连大'] * 100.0 / (adviceDatas['大连大连小'] +
                                                      adviceDatas['大连大连大'])
            now_text = now_text + '大号连着大号连着小号的概率为:%.2f' % (ToToSmall) + '%\n'
            now_text = now_text + '大号连着大号连着大号的概率为:%.2f' % (ToToBig) + '%\n'
        if blueDatas[0]['大小'] == '大' and blueDatas[1][
                '大小'] == '小':  #上一期为大,上上一期为小
            ToToSmall = adviceDatas['小连大连小'] * 100.0 / (adviceDatas['小连大连小'] +
                                                        adviceDatas['小连大连大'])
            ToToBig = adviceDatas['小连大连大'] * 100.0 / (adviceDatas['小连大连小'] +
                                                      adviceDatas['小连大连大'])
            now_text = now_text + '大号连着大号连着小号的概率为:%.2f' % (ToToSmall) + '%\n'
            now_text = now_text + '大号连着大号连着大号的概率为:%.2f' % (ToToBig) + '%\n'
        if blueDatas[0]['大小'] == '小' and blueDatas[1][
                '大小'] == '大':  #上一期为小,上上一期为大
            ToToSmall = adviceDatas['大连小连小'] * 100.0 / (adviceDatas['大连小连小'] +
                                                        adviceDatas['大连小连大'])
            ToToBig = adviceDatas['大连小连大'] * 100.0 / (adviceDatas['大连小连小'] +
                                                      adviceDatas['大连小连大'])
            now_text = now_text + '大号连着小号连着小号的概率为:%.2f' % (ToToSmall) + '%\n'
            now_text = now_text + '大号连着小号连着大号的概率为:%.2f' % (ToToBig) + '%\n'
        if blueDatas[0]['大小'] == '小' and blueDatas[1][
                '大小'] == '小':  #上一期为小,上上一期为小
            ToToSmall = adviceDatas['小连小连小'] * 100.0 / (adviceDatas['小连小连小'] +
                                                        adviceDatas['小连小连大'])
            ToToBig = adviceDatas['小连小连大'] * 100.0 / (adviceDatas['小连小连小'] +
                                                      adviceDatas['小连小连大'])
            now_text = now_text + '小号连着小号连着小号的概率为:%.2f' % (ToToSmall) + '%\n'
            now_text = now_text + '小号连着小号连着大号的概率为:%.2f' % (ToToBig) + '%\n'
        #相同性分析------------------------------------------------------------------
        now_text = now_text + '\n相同性分析:\n'
        #-
        if blueDatas[0]['与上期相同'] == '同':  #上一期为同
            ToDiff = adviceDatas['同连不'] * 100.0 / (adviceDatas['同连不'] +
                                                   adviceDatas['同连同'])
            ToSame = adviceDatas['同连同'] * 100.0 / (adviceDatas['同连不'] +
                                                   adviceDatas['同连同'])
            now_text = now_text + '相同连着不同的概率为:%.2f' % (ToSame) + '%\n'
            now_text = now_text + '相同连着相同的概率为:%.2f' % (ToDiff) + '%\n'
        if blueDatas[0]['与上期相同'] == '不':  #上一期为不
            ToDiff = adviceDatas['不连不'] * 100.0 / (adviceDatas['不连不'] +
                                                   adviceDatas['不连同'])
            ToSame = adviceDatas['不连同'] * 100.0 / (adviceDatas['不连不'] +
                                                   adviceDatas['不连同'])
            now_text = now_text + '不同连着不同的概率为:%.2f' % (ToSame) + '%\n'
            now_text = now_text + '不同连着相同的概率为:%.2f' % (ToDiff) + '%\n'
        #--
        if blueDatas[0]['与上期相同'] == '同' and blueDatas[1][
                '与上期相同'] == '同':  #上一期为同,上上一期为同
            ToToDiff = adviceDatas['同连同连不'] * 100.0 / (adviceDatas['同连同连不'] +
                                                       adviceDatas['同连同连同'])
            ToToSame = adviceDatas['同连同连同'] * 100.0 / (adviceDatas['同连同连不'] +
                                                       adviceDatas['同连同连同'])
            now_text = now_text + '相同连着相同连着不同的概率为:%.2f' % (ToToSame) + '%\n'
            now_text = now_text + '相同连着相同连着相同的概率为:%.2f' % (ToToDiff) + '%\n'
        if blueDatas[0]['与上期相同'] == '同' and blueDatas[1][
                '与上期相同'] == '不':  #上一期为同,上上一期为不
            ToToDiff = adviceDatas['不连同连不'] * 100.0 / (adviceDatas['不连同连不'] +
                                                       adviceDatas['不连同连同'])
            ToToSame = adviceDatas['不连同连同'] * 100.0 / (adviceDatas['不连同连不'] +
                                                       adviceDatas['不连同连同'])
            now_text = now_text + '相同连着相同连着不同的概率为:%.2f' % (ToToSame) + '%\n'
            now_text = now_text + '相同连着相同连着相同的概率为:%.2f' % (ToToDiff) + '%\n'
        if blueDatas[0]['与上期相同'] == '不' and blueDatas[1][
                '与上期相同'] == '同':  #上一期为不,上上一期为同
            ToToDiff = adviceDatas['同连不连不'] * 100.0 / (adviceDatas['同连不连不'] +
                                                       adviceDatas['同连不连同'])
            ToToSame = adviceDatas['同连不连同'] * 100.0 / (adviceDatas['同连不连不'] +
                                                       adviceDatas['同连不连同'])
            now_text = now_text + '相同连着不同连着不同的概率为:%.2f' % (ToToSame) + '%\n'
            now_text = now_text + '相同连着不同连着相同的概率为:%.2f' % (ToToDiff) + '%\n'
        if blueDatas[0]['与上期相同'] == '不' and blueDatas[1][
                '与上期相同'] == '不':  #上一期为不,上上一期为不
            ToToDiff = adviceDatas['不连不连不'] * 100.0 / (adviceDatas['不连不连不'] +
                                                       adviceDatas['不连不连同'])
            ToToSame = adviceDatas['不连不连同'] * 100.0 / (adviceDatas['不连不连不'] +
                                                       adviceDatas['不连不连同'])
            now_text = now_text + '不同连着不同连着不同的概率为:%.2f' % (ToToSame) + '%\n'
            now_text = now_text + '不同连着不同连着相同的概率为:%.2f' % (ToToDiff) + '%\n'
        #有无性分析------------------------------------------------------------------
        now_text = now_text + '\n有无性分析:\n'
        #-
        if blueDatas[0]['11期内有无'] == '有':  #上一期为有
            ToNull = adviceDatas['有连无'] * 100.0 / (adviceDatas['有连无'] +
                                                   adviceDatas['有连有'])
            ToBe = adviceDatas['有连有'] * 100.0 / (adviceDatas['有连无'] +
                                                 adviceDatas['有连有'])
            now_text = now_text + '有号连着无号的概率为:%.2f' % (ToNull) + '%\n'
            now_text = now_text + '有号连着有号的概率为:%.2f' % (ToBe) + '%\n'
        if blueDatas[0]['11期内有无'] == '无':  #上一期为无
            ToNull = adviceDatas['无连无'] * 100.0 / (adviceDatas['无连无'] +
                                                   adviceDatas['无连有'])
            ToBe = adviceDatas['无连有'] * 100.0 / (adviceDatas['无连无'] +
                                                 adviceDatas['无连有'])
            now_text = now_text + '无号连着无号的概率为:%.2f' % (ToNull) + '%\n'
            now_text = now_text + '无号连着有号的概率为:%.2f' % (ToBe) + '%\n'
        #--
        if blueDatas[0]['11期内有无'] == '有' and blueDatas[1][
                '11期内有无'] == '有':  #上一期为有,上上一期为有
            ToToNull = adviceDatas['有连有连无'] * 100.0 / (adviceDatas['有连有连无'] +
                                                       adviceDatas['有连有连有'])
            ToToBe = adviceDatas['有连有连有'] * 100.0 / (adviceDatas['有连有连无'] +
                                                     adviceDatas['有连有连有'])
            now_text = now_text + '有号连着有号连着无号的概率为:%.2f' % (ToToNull) + '%\n'
            now_text = now_text + '有号连着有号连着有号的概率为:%.2f' % (ToToBe) + '%\n'
        if blueDatas[0]['11期内有无'] == '有' and blueDatas[1][
                '11期内有无'] == '无':  #上一期为有,上上一期为无
            ToToNull = adviceDatas['无连有连无'] * 100.0 / (adviceDatas['无连有连无'] +
                                                       adviceDatas['无连有连有'])
            ToToBe = adviceDatas['无连有连有'] * 100.0 / (adviceDatas['无连有连无'] +
                                                     adviceDatas['无连有连有'])
            now_text = now_text + '有号连着有号连着无号的概率为:%.2f' % (ToToNull) + '%\n'
            now_text = now_text + '有号连着有号连着有号的概率为:%.2f' % (ToToBe) + '%\n'
        if blueDatas[0]['11期内有无'] == '无' and blueDatas[1][
                '11期内有无'] == '有':  #上一期为无,上上一期为有
            ToToNull = adviceDatas['有连无连无'] * 100.0 / (adviceDatas['有连无连无'] +
                                                       adviceDatas['有连无连有'])
            ToToBe = adviceDatas['有连无连有'] * 100.0 / (adviceDatas['有连无连无'] +
                                                     adviceDatas['有连无连有'])
            now_text = now_text + '有号连着无号连着无号的概率为:%.2f' % (ToToNull) + '%\n'
            now_text = now_text + '有号连着无号连着有号的概率为:%.2f' % (ToToBe) + '%\n'
        if blueDatas[0]['11期内有无'] == '无' and blueDatas[1][
                '11期内有无'] == '无':  #上一期为无,上上一期为无
            ToToNull = adviceDatas['无连无连无'] * 100.0 / (adviceDatas['无连无连无'] +
                                                       adviceDatas['无连无连有'])
            ToToBe = adviceDatas['无连无连有'] * 100.0 / (adviceDatas['无连无连无'] +
                                                     adviceDatas['无连无连有'])
            now_text = now_text + '无号连着无号连着无号的概率为:%.2f' % (ToToNull) + '%\n'
            now_text = now_text + '无号连着无号连着有号的概率为:%.2f' % (ToToBe) + '%\n'

        self.textCtrl1.AppendText(now_text.decode('utf-8') + '\n')  #显示本期分析

        #推荐估算
        advice_text = u'%s期推荐号码:' % (int(data_array[0][0]) + 1)  #最终推荐

        advice_1 = []  #推荐“奇偶”号码(先定义一下,以免出现相等的情况造成错误)
        advice_2 = []  #推荐“热冷”号码
        advice_3 = []  #推荐“大小”号码
        advice_4 = []  #推荐“同不”号码
        advice_5 = []  #推荐“有无”号码

        blue_odd = ['01', '03', '05', '07', '09', '11', '13', '15']
        blue_even = ['02', '04', '05', '06', '10', '12', '14', '16']
        #blue_hot = blue_hot #热冷会在blueAdvice里面直接得到
        #blue_cold = blue_cold
        blue_small = ['01', '02', '03', '04', '05', '06', '07', '08']
        blue_big = ['09', '10', '11', '12', '13', '14', '15', '16']
        blue_same = []  #同
        blue_diff = []  #不
        blue_null = []  #有
        blue_be = []  #无

        #算出相同号(+-3)
        if 1 + 3 <= int(data_array[0][7]) <= 16 - 3:  #正常情况
            for i in range(
                    int(data_array[0][7]) - 3,
                    int(data_array[0][7]) + 3 + 1):
                blue_same.append('%.2d' % i)
        if int(data_array[0][7]) < 1 + 3:  #小与4的情况
            for i in range(1, int(data_array[0][7]) + 3 + 1):
                blue_same.append('%.2d' % i)
            for j in range(int(data_array[0][7]) + 16 - 3, 16 + 1):
                blue_same.append('%.2d' % j)
        if 16 - 3 < int(data_array[0][7]):  #大于13的情况
            for i in range(int(data_array[0][7]) - 3, 16 + 1):
                blue_same.append('%.2d' % i)
            for j in range(1, int(data_array[0][7]) - 16 + 3 + 1):
                blue_same.append('%.2d' % j)
        #算出不同号
        for i in range(0, 16):
            if '%.2d' % (i + 1) not in blue_same:
                blue_diff.append('%.2d' % (i + 1))
        #统计出有号
        for i in range(0, 11):
            if data_array[i][7] not in blue_be:
                blue_be.append(data_array[i][7])
        #统计出无号
        for i in range(0, 16):
            if '%.2d' % (i + 1) not in blue_be:
                blue_null.append('%.2d' % (i + 1))

        if ToOdd + ToToOdd > ToEven + ToToEven:
            advice_1 = blue_odd  #奇
            #advice_text = advice_text + '奇 '
        if ToOdd + ToToOdd < ToEven + ToToEven:
            advice_1 = blue_even  #偶
            #advice_text = advice_text + '偶 '
        if ToCold + ToToCold > ToHot + ToToHot:
            advice_2 = blue_cold  #冷
            #advice_text = advice_text + '冷 '
        if ToCold + ToToCold < ToHot + ToToHot:
            advice_2 = blue_hot  #热
            #advice_text = advice_text + '热 '
        if ToSmall + ToToSmall > ToBig + ToToBig:
            advice_3 = blue_small  #小
            #advice_text = advice_text + '小 '
        if ToSmall + ToToSmall < ToBig + ToToBig:
            advice_3 = blue_big  #大
            #advice_text = advice_text + '大 '
        if ToSame + ToToSame > ToDiff + ToToDiff:
            advice_4 = blue_same  #同
            #advice_text = advice_text + '同 '
        if ToSame + ToToSame < ToDiff + ToToDiff:
            advice_4 = blue_diff  #不
            #advice_text = advice_text + '不 '
        if ToBe + ToToBe > ToNull + ToToNull:
            advice_5 = blue_be  #有
            #advice_text = advice_text + '有 '
        if ToBe + ToToBe < ToDiff + ToToNull:
            advice_5 = blue_null  #无
            #advice_text = advice_text + '无 '
        '''
        print advice_1
        print advice_2
        print advice_3
        print advice_4
        print advice_5
        '''
        in_advice = [0] * 16  #在推荐条件中出现的次数
        for i in range(0, 16):
            if '%.2d' % (i + 1) in advice_1:
                in_advice[i] = in_advice[i] + 1
            if '%.2d' % (i + 1) in advice_2:
                in_advice[i] = in_advice[i] + 1
            if '%.2d' % (i + 1) in advice_3:
                in_advice[i] = in_advice[i] + 1
            if '%.2d' % (i + 1) in advice_4:
                in_advice[i] = in_advice[i] + 1
            if '%.2d' % (i + 1) in advice_5:
                in_advice[i] = in_advice[i] + 1

        max_num = []  #最大号码
        min_num = []  #最小号码
        for i in range(0, 16):
            if in_advice[i] == max(in_advice):  #是最大
                max_num.append('%.2d' % (i + 1))
            #if in_advice[i]<=1:
            if in_advice[i] == min(in_advice):  #是最小
                min_num.append('%.2d' % (i + 1))
        #命令行显示一下
        #print u'本期推荐因子为%d(5为满分)'%(max(in_advice))
        #print max_num
        #print min_num
        advice_num = []  #推荐号码
        '''
        for i in range(0, 16):
            if ('%.2d'%(i+1) not in max_num) and ('%.2d'%(i+1) not in min_num):
                advice_num.append('%.2d'%(i+1))
        '''
        for i in range(0, 16):
            if '%.2d' % (i + 1) in max_num:
                advice_num.append('%.2d' % (i + 1))

        advice_text = advice_text + u'\n%s\n' % (str(advice_num))
        advice_text = advice_text + u'本期推荐因子为%d(5为满分)' % (max(in_advice))
        self.textCtrl1.AppendText(advice_text)  #显示最终推荐
        #命令行显示一下
        print(u'%s' % advice_text).encode(locale.getdefaultlocale()[1])
コード例 #8
0
ファイル: FrameReport.py プロジェクト: myserver368/ssqpython
    def __init__(self, parent):
        self._init_ctrls(parent)
        #命令行提示
        print(u'FrameReport启动').encode(locale.getdefaultlocale()[1])

        #读取开奖数据
        data_array = readDataFileToArray()
        #显示面板清空
        self.textCtrl1.Clear()
        #计算并得到数据参数
        redOrder, redTimes = redOrderCoumpute(data_array)
        bet_array = readBetFileToArray()
        data_para_array = dataParaCompute(data_array, redOrder, bet_array)
        #最新一期的期号
        #date = int(data_array[0][0])
        for i in range(0, len(data_array)):  #20080309--10期改成所有期
            date = int(data_array[i][0])
            #判断是否存在预测数据(最近800期),即判断文件夹是否存在
            if '%s' % date in os.listdir(os.curdir):
                #读取预测数据文件和使用到的过滤条件文件(数组格式)
                predict_data, predict_filter, select_num = readPredictData(
                    date)
                #判断预测数据与开奖号码相同情况
                same = [0, 0, 0, 0, 0, 0, 0]
                #20080309(添加>5的注数显示)
                msg5 = '5球相同以上的:\n'
                for j in range(0, len(predict_data)):
                    count = 0  #计数
                    for k in range(0, 6):
                        if predict_data[j][k] in data_array[i][1:6 + 1]:
                            count = count + 1
                    same[count] = same[count] + 1
                    #在命令行窗口显示>=5的投注
                    if count >= 5:
                        print predict_data[j], j + 1
                        #20080309
                        msg5 = msg5 + '%s---第%s行\n' % (predict_data[j], j + 1)
                #判断过滤条件正误情况
                filter_wrong = []  #错误情况列表
                wrong_detail = ['条件名称', '预测范围下限', '预测范围上限', '实际值']  #错误详细说明
                for j in range(0, len(predict_filter)):
                    tmp_1 = predict_filter[j][1]  #使用到的过滤条件名称
                    tmp_2 = tmp_1.split(' ')[0]  #去掉名称后面的空格
                    tmp_3 = data_para_array[i][tmp_2]  #开奖数据的对应参数值
                    min_num = int(
                        predict_filter[j][3].split('-')[0])  #使用到的过滤条件的最小值
                    max_num = int(
                        predict_filter[j][3].split('-')[1])  #使用到的过滤条件的最大值
                    #判断是否大于等于最小值,小于等于最大值,如果不符合条件,则添加到错误列表中
                    if tmp_3 < min_num or tmp_3 > max_num:
                        wrong_detail = [tmp_2, min_num, max_num, tmp_3]
                        filter_wrong.append(wrong_detail)
                #生成报告
                report = ''
                report = report + '=%d期预测数据兑奖=\n' % date
                report = report + '开奖号码:%s,%s,%s,%s,%s,%s+%s\n'\
                         %(data_array[i][1],data_array[i][2],data_array[i][3],\
                           data_array[i][4],data_array[i][5],data_array[i][6],data_array[i][7])
                report = report + '预测数据:%s组\n' % (len(predict_data))
                report = report + '选择了%d个红球\n' % (len(select_num))
                for j in range(0, 6):  #看看哪几个球没选上
                    if data_array[i][j + 1] not in select_num:
                        report = report + '漏选了*' + data_array[i][j + 1] + '*\n'
                report = report + '----6球相同*%s注*\n' % same[6]
                report = report + '----5球相同*%s注*\n' % same[5]
                report = report + '----4球相同*%s注*\n' % same[4]
                report = report + '----3球相同%s注\n' % same[3]
                report = report + '----2球相同%s注\n' % same[2]
                report = report + '----1球相同%s注\n' % same[1]
                report = report + '----0球相同%s注\n' % same[0]
                report = report + '使用过滤条件:%s组\n' % (len(predict_filter))
                report = report + '----正确:%s组\n' % (len(predict_filter) -
                                                    len(filter_wrong))
                report = report + '----错误:%s组\n' % (len(filter_wrong))
                if len(filter_wrong) != 0:  #如果有错误的话就显示之
                    for j in range(0, len(filter_wrong)):
                        report = report + '--------%s--------预测范围[%s,%s]--实际值(%s)\n'\
                                 %(filter_wrong[j][0],filter_wrong[j][1],filter_wrong[j][2],filter_wrong[j][3],)
                #20080309
                report = report + msg5 + '\n'
                #将报告添加到显示面板中
                self.textCtrl1.AppendText(report.decode('utf-8'))
                #停止查找
                #break
            #date = date - 1
            #else:
            #self.textCtrl1.AppendText(u'未找到%s期预测数据!\n\n'%date)
            #期号-1,继续查找
            #date = date - 1
        #如果10期之后还未找到,给一个提示
        #if date==(int(data_array[0][0])-800):
        #   self.textCtrl1.AppendText(u'目录下无最近800期预测数据!')
        # 如果没有任何数据,给一个提示(2008.04.07)
        if self.textCtrl1.GetValue() == '':
            self.textCtrl1.AppendText(u'目录下无任何预测数据!\n(格式应为:200XABC,即只有7位数字)')
コード例 #9
0
ファイル: FrameReport.py プロジェクト: myserver368/ssqpython
 def __init__(self, parent):
     self._init_ctrls(parent)
     #命令行提示
     print (u'FrameReport启动').encode(locale.getdefaultlocale()[1])
     
     #读取开奖数据
     data_array = readDataFileToArray()
     #显示面板清空
     self.textCtrl1.Clear()
     #计算并得到数据参数
     redOrder, redTimes = redOrderCoumpute(data_array)
     bet_array = readBetFileToArray()
     data_para_array = dataParaCompute(data_array, redOrder, bet_array) 
     #最新一期的期号
     #date = int(data_array[0][0])
     for i in range(0, len(data_array)):#20080309--10期改成所有期
         date = int(data_array[i][0])
         #判断是否存在预测数据(最近800期),即判断文件夹是否存在
         if '%s'%date in os.listdir(os.curdir):
             #读取预测数据文件和使用到的过滤条件文件(数组格式)
             predict_data, predict_filter, select_num =readPredictData(date)
             #判断预测数据与开奖号码相同情况
             same = [0,0,0,0,0,0,0]
             #20080309(添加>5的注数显示)
             msg5 = '5球相同以上的:\n'
             for j in range(0, len(predict_data)):
                 count = 0 #计数
                 for k in range(0, 6):
                     if predict_data[j][k] in data_array[i][1:6+1]:
                         count = count + 1
                 same[count] = same[count] + 1
                 #在命令行窗口显示>=5的投注
                 if count>=5:
                     print predict_data[j],j+1
                     #20080309
                     msg5 = msg5 + '%s---第%s行\n'%(predict_data[j],j+1)
             #判断过滤条件正误情况
             filter_wrong = [] #错误情况列表
             wrong_detail = ['条件名称','预测范围下限','预测范围上限','实际值'] #错误详细说明
             for j in range(0, len(predict_filter)):
                 tmp_1 = predict_filter[j][1] #使用到的过滤条件名称
                 tmp_2 = tmp_1.split(' ')[0] #去掉名称后面的空格
                 tmp_3 = data_para_array[i][tmp_2] #开奖数据的对应参数值
                 min_num = int(predict_filter[j][3].split('-')[0]) #使用到的过滤条件的最小值
                 max_num = int(predict_filter[j][3].split('-')[1]) #使用到的过滤条件的最大值
                 #判断是否大于等于最小值,小于等于最大值,如果不符合条件,则添加到错误列表中  
                 if tmp_3<min_num or tmp_3>max_num:
                     wrong_detail = [tmp_2,min_num,max_num,tmp_3]
                     filter_wrong.append(wrong_detail)
             #生成报告
             report = ''
             report = report + '=%d期预测数据兑奖=\n'%date
             report = report + '开奖号码:%s,%s,%s,%s,%s,%s+%s\n'\
                      %(data_array[i][1],data_array[i][2],data_array[i][3],\
                        data_array[i][4],data_array[i][5],data_array[i][6],data_array[i][7])
             report = report + '预测数据:%s组\n'%(len(predict_data))
             report = report + '选择了%d个红球\n'%(len(select_num))
             for j in range(0, 6):#看看哪几个球没选上
                 if data_array[i][j+1] not in select_num:
                     report = report + '漏选了*' + data_array[i][j+1]+'*\n'
             report = report + '----6球相同*%s注*\n'%same[6]
             report = report + '----5球相同*%s注*\n'%same[5]
             report = report + '----4球相同*%s注*\n'%same[4]
             report = report + '----3球相同%s注\n'%same[3]
             report = report + '----2球相同%s注\n'%same[2]
             report = report + '----1球相同%s注\n'%same[1]
             report = report + '----0球相同%s注\n'%same[0]
             report = report + '使用过滤条件:%s组\n'%(len(predict_filter))
             report = report + '----正确:%s组\n'%(len(predict_filter)-len(filter_wrong))
             report = report + '----错误:%s组\n'%(len(filter_wrong))
             if len(filter_wrong)!=0: #如果有错误的话就显示之
                 for j in range(0, len(filter_wrong)):
                     report = report + '--------%s--------预测范围[%s,%s]--实际值(%s)\n'\
                              %(filter_wrong[j][0],filter_wrong[j][1],filter_wrong[j][2],filter_wrong[j][3],)
             #20080309
             report = report + msg5 + '\n'
             #将报告添加到显示面板中
             self.textCtrl1.AppendText(report.decode('utf-8'))
             #停止查找
             #break
         #date = date - 1
         #else:
             #self.textCtrl1.AppendText(u'未找到%s期预测数据!\n\n'%date)
             #期号-1,继续查找
             #date = date - 1
     #如果10期之后还未找到,给一个提示
     #if date==(int(data_array[0][0])-800):
      #   self.textCtrl1.AppendText(u'目录下无最近800期预测数据!')
     # 如果没有任何数据,给一个提示(2008.04.07)
     if self.textCtrl1.GetValue()=='':
         self.textCtrl1.AppendText(u'目录下无任何预测数据!\n(格式应为:200XABC,即只有7位数字)')