def fixed_kill_one_tail(self, jo): """ 执行杀1尾公式 (90.67%) :param jo: :return: """ r = 0 killnexttailSeq = '' for index in range(len(jo)): killnexttail = str(jo[index][1]['six_number']['1']['number'])[1] l = len(jo) - self.outp if index == len(jo) - 1: print("=>预测杀: [" + killnexttail + "]尾") killnexttailSeq = Common.getnumber(killnexttail, 't') print("=>对应号: " + str(killnexttailSeq)) nextIndex = index + 1 if nextIndex >= len(jo): break nexttail = str(jo[nextIndex][1]['unusual_number']['number'])[1] if killnexttail != nexttail: r = r + 1 if index > l - 2: print(str(index + 2).zfill(3) + "期: " + \ "杀[" + killnexttail + "]尾 " + \ "开[" + nexttail + "] " + \ Common.e3p([killnexttail], nexttail)) print('=>正确数: ' + str(r) + '次') print('=>正确率: ' + str(round((r / (len(jo) - 1)) * 100.0, 2)) + "%") return killnexttailSeq
def kill_color_bo_formula(self, jo, sort): """ 杀波色 (75.0%) :param jo: :param sort: :return: """ r = 0 killcolorboseq = [] for index in range(len(jo)): swq = data.number_data sn = self.sortnumber.sort_number(jo[index], sort) killcolorbo = Common.color(fr.funclr(sn)) killcolorboseq = Common.getnumber(killcolorbo, 'c') l = len(jo) - self.outp if index == len(jo) - 1: print("=>预测杀: [" + killcolorbo + "]") print("=>对应号: " + str(killcolorboseq)) nextIndex = index + 1 if nextIndex >= len(jo): break pass nextnumber = jo[nextIndex][1]['unusual_number']['number'] # 下期特码 nextcolor = Common.etoc(jo[nextIndex][1]['unusual_number']['color']) # 特码波色 swq = list(set(swq) - (set(killcolorboseq))) try: if swq.index(int(nextnumber)) >= 0: r = r + 1 except: pass # if killcolorbo != nextcolor: # r = r + 1 if index > l - 2: print(str(index + 2).zfill(3) + "期: " + \ "杀[" + killcolorbo + "] " + \ "开[" + nextcolor + "] " + \ Common.e3p([killcolorbo], nextcolor)) print('=>正确数: ' + str(r) + '次') print('=>正确率: ' + str(round((r / (len(jo) - 1)) * 100.0, 2)) + "%") return killcolorboseq
def formulakilltail(sn): """ 公式杀尾 :return: """ # { 'pid': 33631, 'exp': {'offset': 4, 'expression': '0h 1t 3t 4h 5a', 'sort': 'nosize'}, 'rat': 92.142 } formula = { "expression": "0h 1t 3t 4h 5a", "offset": 4, "sorttype": "nosize" } killtail = Common.tail( Common.formula_expression_hander( formula['expression'], sortnumber.sort_number(sn, formula['sorttype']), formula['offset'])[0]) return Common.getnumber(str(killtail), 't')
def kill_head_formula(self, jo, sort): """ 执行杀1头公式 (90.0%) :param jo: 年集合 :param sort: 排序方式 默认根据落球顺序进行排序 :return: 返回最新一期杀头数字 """ r = 0 killnextheadseq = [] for index in range(len(jo)): sn = self.sortnumber.sort_number(jo[index], sort) killnexthead = str(Common.headavg(fr.funhed(sn))) l = len(jo) - self.outp if index == len(jo) - 1: print("=>预测杀: [" + killnexthead + "]头") killnextheadseq = Common.getnumber(killnexthead, 'h') print("=>对应号: " + str(killnextheadseq)) nextIndex = index + 1 if nextIndex >= len(jo): break nextnumber = jo[nextIndex][1]['unusual_number']['number'] # 下期特码 nexthead = str(nextnumber).zfill(2)[0] # 下期特码头 if killnexthead != nexthead: r = r + 1 if index > l - 2: print(str(index + 2).zfill(3) + "期: " + \ "杀[" + killnexthead + "]头 " + \ "开[" + nextnumber + "] " + \ Common.e3p([killnexthead], nexthead)) print('=>正确数: ' + str(r) + '次') print('=>正确率: ' + str(round((r / (len(jo) - 1)) * 100.0, 2)) + "%") return killnextheadseq
def kill_single_or_double(self, jo, sort): """ 杀单双 (62%) :param jo: :param sort: 推荐按照落球顺序 nosize :return: """ r = 0 killsingledoubleseq = [] for index in range(len(jo)): sn = self.sortnumber.sort_number(jo[index], sort) killsingledouble = Common.singleordouble(fr.funeob(sn)) l = len(jo) - self.outp if index == len(jo) - 1: killsingledoubleseq = Common.getnumber(killsingledouble, 's') print("=>预测杀 [" + killsingledouble + "]") print("=>对应号: " + str(killsingledoubleseq)) nextIndex = index + 1 if nextIndex >= len(jo): break nextnumber = jo[nextIndex][1]['unusual_number']['number'] # 下期特码 nextsgledu = Common.nextsingleordouble(nextnumber) if killsingledouble != nextsgledu: r = r + 1 if index > l - 2: print(str(index + 2).zfill(3) + "期: " + \ "杀[" + killsingledouble + "] " + \ "开[" + nextsgledu + "] " + \ Common.e3p([killsingledouble], nextsgledu)) print('=>正确数: ' + str(r) + '次') print('=>正确率: ' + str(round((r / (len(jo) - 1)) * 100.0, 2)) + "%") return killsingledoubleseq
def fixed_kill_one_zodiac_1(self, jo): """ # 根据指定的序列图杀一肖 :param jo: :return: """ r = 0 killnextzodiacSeq = [] for index in range(len(jo)): # 根据本期特尾获取下期将要杀掉的生肖 killnextzodiac = Common.get_next_kill_zodiac( str(jo[index][1]['unusual_number']['number'])[1]) l = len(jo) - self.outp if index == len(jo) - 1: killnextzodiacSeq = Common.getnumber(killnextzodiac, 'z') print("=>预测杀: [" + killnextzodiac + "]") print("=>对应号: " + str(killnextzodiacSeq)) nextIndex = index + 1 if nextIndex >= len(jo): break # 下期实际生肖 nextzodiac = jo[nextIndex][1]['unusual_number']['zodiac'] if killnextzodiac != nextzodiac: r = r + 1 if index > l - 2: print(str(index + 2).zfill(3) + "期: " + \ "杀[" + killnextzodiac + "] " + \ "开[" + nextzodiac + "] " + \ Common.e3p([killnextzodiac], nextzodiac)) print('=>正确数: ' + str(r) + '次') print('=>正确率: ' + str(round((r / (len(jo) - 1)) * 100.0, 2)) + "%") return killnextzodiacSeq
def fixed_kill_one_zodiac_2(self, jo): """ 根据指定的第三个生肖杀一肖 (94.67%) :param jo: :return: """ r = 0 killnextzodiacSeq = [] for index in range(len(jo)): killnextzodiac = jo[index][1]['six_number']['3']['zodiac'] l = len(jo) - self.outp if index == len(jo) - 1: print("=>预测杀: [" + killnextzodiac + "]") killnextzodiacSeq = Common.getnumber(killnextzodiac, 'z') print("=>对应号: " + str(killnextzodiacSeq)) nextIndex = index + 1 if nextIndex >= len(jo): break # 下期实际生肖 nextzodiac = jo[nextIndex][1]['unusual_number']['zodiac'] if killnextzodiac != nextzodiac: r = r + 1 if index > l - 2: print(str(index + 2).zfill(3) + "期: " + \ "杀[" + killnextzodiac + "] " + \ "开[" + nextzodiac + "] " + \ Common.e3p([killnextzodiac], nextzodiac)) print('=>正确数: ' + str(r) + '次') print('=>正确率: ' + str(round((r / (len(jo) - 1)) * 100.0, 2)) + "%") return killnextzodiacSeq