# -*- coding: utf-8 -*-
"""
Created on Tue May 14 18:58:50 2019
把图片保存成了文件,供gui窗口读取,取消了Label_img的显示,调整按钮位置
添加大小比例,新的分析数据
大小比例数据写好了,下一步画图
改变工具栏背景色为白色,大小比例取百分之一的数据
奇偶比例也写好了,并且先切百分之一的数据,然后再分类统计,这样提升程序速度
增加了数据预处理,pl3qh,提前切好排列3百分之一的数据,省得临时切费时间
把横向轴X上写上中奖号,省得不知道中奖号多少,程序写错了也不知道
把pl3重新排序,前后顺序互换一下
把质合数和质合比例都统计出来了
加了组选3组选6
@author: Administrator
"""
import pandas as pd
from tqdm import tqdm
from pandas.core.frame import DataFrame
import numpy as np #科学计算数据分析库,另起名为np
import matplotlib.pyplot as plt #擅长画二维图曲线,股票均线,另起名为plt
from sklearn.preprocessing import MinMaxScaler #机器学习库,数据预处理,把数据定为0,1之间
from keras.models import Sequential #深度学习库,建立模型,多网络层线性堆叠顺序模型
from keras.layers import LSTM, Dense, Activation #准备用三种神经网络层,长短期记忆网络,全连接网络层,激活层
#from keras.utils import plot_model#模型可视化做图
#from IPython.display import SVG
#from keras.utils.vis_utils import model_to_dot
import xlrd#读excel文件from tkinter import *
import tkinter as tk
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg,NavigationToolbar2Tk #NavigationToolbar2TkAgg
import matplotlib
matplotlib.use('Agg')
from matplotlib.pyplot import plot,savefig
from PIL import Image, ImageTk
from tkinter import ttkplt.rcParams['font.family'] = 'SimHei' ## 设置字体def read_to_excel():#自定义函数,读取excel表里排列三中奖号# 设置路径path = 'pl3.xls'# 打开execlworkbook = xlrd.open_workbook(path)# 根据sheet索引或者名称获取sheet内容Data_sheet = workbook.sheets()[0]  # 通过索引获取#rowNum = Data_sheet.nrows  # sheet行数#colNum = Data_sheet.ncols  # sheet列数# 获取整行和整列的值(列表)#rows = Data_sheet.row_values(0)  # 获取第一行内容pl3 = Data_sheet.col_values(1)  # 获取第二列内容pl3=pl3[1:]pl3.reverse()# print (rows)#print (cols)#打印开奖号baiwei=[x[0] for x in pl3]shiwei=[x[1] for x in pl3]gewei=[x[2] for x in pl3]return pl3,baiwei,shiwei,gewei#创建窗口
root =  tk.Tk()
root.wm_title("体育彩票排列3统计预测系统")
root.geometry("1920x1010+0+0")
#img_open = Image.open('zft.jpg')
#img_png = ImageTk.PhotoImage(img_open)
#label_img = tk.Label(root, image = img_png)
#label_img.pack()f=plt.figure(figsize=(19.20,10.80))# 将绘制的图形显示到tkinter:创建属于root的canvas画布,并将图f置于画布上pl3,baiwei,shiwei,gewei=read_to_excel()#读excel表里的开奖号并做成开奖号,百位,十位,个位,四个数组
#数据切片显示百分之1的数据,因为五千多期号做到一个屏幕上根本看不清
qiep=int(np.array(pl3).shape[0] *0.98)#数据切片,设定要切多少
zb=['0','1','2','3','4','5','6','7','8','9','10']#校正Y轴,就是竖轴
pl3qh=pl3[qiep:]
pl3q=DataFrame(np.array(pl3)[qiep:])
def zft(event):plt.clf()create_matplotlibzft()def k(event):plt.clf()create_matplotlibk()def dx(event):plt.clf()create_matplotlibdx()def jo(event):plt.clf()create_matplotlibjo()
def dxbl(event):plt.clf()create_matplotlibdxbl()
def jobl(event):plt.clf()create_matplotlibjobl()
def dxbljj(event):plt.clf()create_matplotlibdxbljj()
def jobljj(event):plt.clf()create_matplotlibjobljj()
def zh(event):plt.clf()create_matplotlibzh()
def zhbl(event):plt.clf()create_matplotlibzhbl()
def zhbljj(event):plt.clf()create_matplotlibzhbljj()
def z3z6(event):plt.clf()create_matplotlibz3z6()
def hz(event):plt.clf()create_matplotlibhz()
def ac(event):plt.clf()create_matplotlibac()
def lh(event):plt.clf()create_matplotliblh()
def ycz(event):plt.clf()create_matplotlibycz()def create_matplotlibzft():#统计每个数字在个十百位出现次数baiweidata={}for i in range(10):i=str(i)print('排列3百位数字 %d 出现次数 %s ' % (int(i),baiwei.count(i)))baiweidata [i]= baiwei.count(i)i=int(i)print(baiweidata)shiweidata={}for i in range(10):i=str(i)print('排列3十位数字 %d 出现次数 %s ' % (int(i),shiwei.count(i)))shiweidata[i]=shiwei.count(i)i=int(i)print(shiweidata)geweidata={}for i in range(10):i=str(i)print('排列3个位数字 %d 出现次数 %s ' % (int(i),gewei.count(i)))geweidata[i]=gewei.count(i)i=int(i)print(geweidata)#转换数据类型,转换成做图函数能认识的参数bwcs=baiweidata.values()swcs=shiweidata.values()gwcs=geweidata.values()#画直方图plt.bar(np.arange(10),bwcs,width=0.3)plt.bar(np.arange(10)+0.3,swcs,width=0.3)plt.bar(np.arange(10)+0.6,gwcs,width=0.3)#每个数字出现次数写直方柱上边for x,y in zip(np.arange(10),bwcs):plt.text(x,y+0.5,'%d'%y, ha='center', va= 'bottom')for x,y in zip(np.arange(10),swcs):plt.text(x+0.3,y+0.05,'%d'%y, ha='center', va= 'bottom')for x,y in zip(np.arange(10),gwcs):plt.text(x+0.6,y+0.05,'%d'%y, ha='center', va= 'bottom')#显示X横轴0到9数字new_ticks = np.linspace(0, 9, 10)plt.xticks(new_ticks)#直方图标题等文字信息plt.xlabel("0到9,从左到右按百十个位排")plt.ylabel("出现次数")plt.title("排列三0到9在百十个位出现次数统计表")plt.legend(['百位','十位','个位'])savefig('0到9出现次数.jpg')#canvas.draw()def create_matplotlibk():plt.clf()#百十个位K线图baiweik=np.array(baiwei)[qiep:]shiweik=np.array(shiwei)[qiep:]geweik=np.array(gewei)[qiep:]#要百分之一的数据print(baiweik,shiweik,geweik)#开始做图plt.xticks(np.linspace(0, len(baiweik)-1, len(baiweik)))plt.grid()  # 生成网格plt.plot(zb,'w')plt.plot(baiweik,'r')plt.plot(shiweik,'g')plt.plot(geweik,'b')plt.xlabel("最近 %d 期"%len(baiweik))plt.ylabel("0到9数字")plt.title("排列三K线图")plt.legend([' ','百位','十位','个位'])savefig('K线图.jpg')#canvas.draw()
def create_matplotlibdx():plt.clf()#画大小走势图baiweidx=[]baiwei1=list(map(int, baiwei))for i in range(len(baiwei)):if baiwei1[i]<5:baiweidx.append(6)else:baiweidx.append(8)shiweidx=[]shiwei1=list(map(int, shiwei))for i in range(len(shiwei)):if shiwei1[i]<5:shiweidx.append(3)else:shiweidx.append(5)geweidx=[]gewei1=list(map(int, gewei))for i in range(len(gewei)):if gewei1[i]<5:geweidx.append(0)else:geweidx.append(2)baiweidx=np.array(baiweidx)[qiep:]shiweidx=np.array(shiweidx)[qiep:]geweidx=np.array(geweidx)[qiep:]print(len(baiweidx),baiweidx)plt.xticks(np.linspace(0, len(baiweidx)-1, len(baiweidx)),pl3qh)plt.yticks(np.linspace(0, 9, 10) , ['小','个位','大','小','十位','大','小','百位','大'])plt.grid()  # 生成网格plt.plot(zb,'w')plt.plot(baiweidx,'r')plt.plot(shiweidx,'g')plt.plot(geweidx,'b')plt.xlabel("最近 %d 期"%len(baiweidx))plt.ylabel("从上到下百十个位")plt.title("排列三大小走势图")plt.legend([' ','百位','十位','个位'])savefig('大小走势图.jpg')#canvas.draw()
def create_matplotlibjo():plt.clf()#画奇偶走势图baiweijo=[]baiwei1=list(map(int, baiwei))for i in range(len(baiwei)):if baiwei1[i]==1 or baiwei1[i]==3 or baiwei1[i]==5 or baiwei1[i]==7 or baiwei1[i]==9:baiweijo.append(6)else:baiweijo.append(8)shiweijo=[]shiwei1=list(map(int, shiwei))for i in range(len(shiwei)):if shiwei1[i]==1 or shiwei1[i]==3 or shiwei1[i]==5 or shiwei1[i]==7 or shiwei1[i]==9:shiweijo.append(3)else:shiweijo.append(5)geweijo=[]gewei1=list(map(int, gewei))for i in range(len(gewei)):if gewei1[i]==1 or gewei1[i]==3 or gewei1[i]==5 or gewei1[i]==7 or gewei1[i]==9:geweijo.append(0)else:geweijo.append(2)baiweijo=np.array(baiweijo)[qiep:]shiweijo=np.array(shiweijo)[qiep:]geweijo=np.array(geweijo)[qiep:]print(len(geweijo),geweijo)plt.xticks(np.linspace(0, len(geweijo)-1, len(geweijo)),pl3qh)plt.yticks(np.linspace(0, 9, 10) , ['奇','个位','偶','奇','十位','偶','奇','百位','偶'])plt.grid()  # 生成网格plt.plot(zb,'w')plt.plot(baiweijo,'r')plt.plot(shiweijo,'g')plt.plot(geweijo,'b')plt.xlabel("最近 %d 期"%len(baiweijo))plt.ylabel("从上到下百十个位")plt.title("排列三奇偶走势图")plt.legend([' ','百位','十位','个位'])print(np.array(pl3)[qiep:],np.array(baiwei)[qiep:])savefig('奇偶走势图.jpg')#canvas.draw()
def create_matplotlibdxbl():#大小比例plt.clf()dxbl=DataFrame(columns=['0'])dxbly=DataFrame(columns=['大小比例'])for x in range(len(pl3q)):yyy=0xxx=""for j in range(3):ppp=pl3q.loc[x].str.get(j)if int(ppp)<5:xxx=xxx+'1'else:xxx=xxx+'2'            #print((pl31[0:x+1])[j:j+1])if xxx.count('2')==0:yyy=1elif xxx.count('2')==1:yyy=2elif xxx.count('2')==2:yyy=3elif xxx.count('2')==3:yyy=4else:print('统计大小比例出错')dxbl.loc[x]=xxxdxbly.loc[x]=yyydxbl['大小比例']=dxblyplt.xticks(np.linspace(0, len(dxbly),len(dxbly)+1),pl3qh)plt.yticks(np.linspace(0, 4, 5) , [' ','小小小','2小1大','2大一小','大大大'])zb1=['0','1','2','3','4']plt.grid()  # 生成网格plt.plot(zb1,'w')plt.plot(dxbly,'r')plt.xlabel("最近 %d 期"%len(dxbly))plt.ylabel("从上到下,从大到小")plt.title("大小比例走势图")#plt.legend([' ','百位','十位','个位'])savefig('大小比例走势图.jpg')#print((dxbl[x])[j])return dxbly
def create_matplotlibdxbljj():#大小比例精简plt.clf()dxbljjs=DataFrame(columns=['大小比例精简'])dxbly=create_matplotlibdxbl()plt.clf()for i in range(len(dxbly)):if int(dxbly.loc[i])==1 or int(dxbly.loc[i])==4:dxbljjs.loc[i]=1else:dxbljjs.loc[i]=2print('大小比例精简',dxbljjs)plt.xticks(np.linspace(0, len(dxbljjs),len(dxbljjs)+1),pl3qh)plt.yticks(np.linspace(0, 2, 3) , [' ','3大或3小','2小1大或2大1小'])zb1=['0','1','2','3']plt.grid()  # 生成网格plt.plot(zb1,'w')plt.plot(dxbljjs,'r')plt.xlabel("最近 %d 期"%len(dxbljjs))plt.ylabel("下边是3大或3小,上边是2小1大或2大1小")plt.title("大小比例精简走势图")#plt.legend([' ','百位','十位','个位'])savefig('大小比例精简走势图.jpg')#print((dxbl[x])[j])def create_matplotlibjobl():#奇偶比例plt.clf()jobl=DataFrame(columns=['0'])jobly=DataFrame(columns=['奇偶比例'])for x in range(len(pl3q)):yyy=0xxx=""for j in range(3):ppp=pl3q.loc[x].str.get(j)if int(ppp)==1 or int(ppp)==3 or int(ppp)==5 or int(ppp)==7 or int(ppp)==9:xxx=xxx+'1'else:xxx=xxx+'2'if xxx.count('2')==0:yyy=1elif xxx.count('2')==1:yyy=2elif xxx.count('2')==2:yyy=3elif xxx.count('2')==3:yyy=4else:print('统计奇偶比例出错')jobl.loc[x]=xxxjobly.loc[x]=yyyjobl['奇偶比例']=joblyplt.xticks(np.linspace(0, len(jobly),len(jobly)+1),pl3qh)plt.yticks(np.linspace(0, 4, 5) , [' ','奇奇奇','2奇1偶','2偶一奇','偶偶偶'])zb1=['0','1','2','3','4']plt.grid()  # 生成网格plt.plot(zb1,'w')plt.plot(jobly,'r')plt.xlabel("最近 %d 期"%len(jobly))plt.ylabel("从上到下,从偶到奇")plt.title("奇偶比例走势图")#plt.legend([' ','百位','十位','个位'])savefig('奇偶比例走势图.jpg')print('排列3切片',pl3q)return joblydef create_matplotlibjobljj():plt.clf()jobljjs=DataFrame(columns=['奇偶比例精简'])jobly=create_matplotlibjobl()plt.clf()for i in range(len(jobly)):if int(jobly.loc[i])==1 or int(jobly.loc[i])==4:jobljjs.loc[i]=1else:jobljjs.loc[i]=2print('奇偶比例精简',jobljjs)plt.xticks(np.linspace(0, len(jobljjs),len(jobljjs)+1),pl3qh)plt.yticks(np.linspace(0, 2, 3) , [' ','3奇或3偶','2奇1偶或2偶1奇'])zb1=['0','1','2','3']plt.grid()  # 生成网格plt.plot(zb1,'w')plt.plot(jobljjs,'r')plt.xlabel("最近 %d 期"%len(jobljjs))plt.ylabel("下边是3奇或3偶,上边是2奇1偶或2偶1奇")plt.title("奇偶比例精简走势图")#plt.legend([' ','百位','十位','个位'])savefig('奇偶比例精简走势图.jpg')
def create_matplotlibzhbl():#质合比例plt.clf()zhbl=DataFrame(columns=['0'])zhbly=DataFrame(columns=['质合比例'])plt.clf()for x in range(len(pl3q)):yyy=0xxx=""for j in range(3):ppp=pl3q.loc[x].str.get(j)if int(ppp)==1 or int(ppp)==3 or int(ppp)==5 or int(ppp)==7 or int(ppp)==2:xxx=xxx+'1'#1为质数,2为合数else:xxx=xxx+'2'if xxx.count('2')==0:#1为质数,2为合数yyy=1elif xxx.count('2')==1:yyy=2elif xxx.count('2')==2:yyy=3elif xxx.count('2')==3:yyy=4else:print('统计质合出错')zhbl.loc[x]=xxxzhbly.loc[x]=yyyplt.xticks(np.linspace(0, len(zhbly),len(zhbly)+1),pl3qh)plt.yticks(np.linspace(0, 4, 5) , [' ','质质质','2质1合','2合1质','合合合'])zb1=['0','1','2','3','4']plt.grid()  # 生成网格plt.plot(zb1,'w')plt.plot(zhbly,'r')plt.xlabel("最近 %d 期"%len(zhbly))plt.ylabel("质数12357,合数46890")plt.title("质合比例走势图")#plt.legend([' ','百位','十位','个位'])savefig('质合比例走势图.jpg')print('排列3切片',pl3q)return zhbly
def create_matplotlibzhbljj():plt.clf()zhbljjs=DataFrame(columns=['质合比例精简'])zhbly=create_matplotlibzhbl()plt.clf()for i in range(len(zhbly)):if int(zhbly.loc[i])==1 or int(zhbly.loc[i])==4:zhbljjs.loc[i]=1else:zhbljjs.loc[i]=2print('质合比例精简',zhbljjs)plt.xticks(np.linspace(0, len(zhbljjs),len(zhbljjs)+1),pl3qh)plt.yticks(np.linspace(0, 2, 3) , [' ','3质或3合','2质1合或2合1质'])zb1=['0','1','2','3']plt.grid()  # 生成网格plt.plot(zb1,'w')plt.plot(zhbljjs,'r')plt.xlabel("最近 %d 期"%len(zhbljjs))plt.ylabel("下边是3质或3合,上边是2质1合或2合1质")plt.title("质合比例精简走势图")#plt.legend([' ','百位','十位','个位'])savefig('质合比例精简走势图.jpg')
def create_matplotlibzh():plt.clf()#画质合走势图baiweizh=[]baiwei1=list(map(int, baiwei))for i in range(len(baiwei)):if baiwei1[i]==1 or baiwei1[i]==3 or baiwei1[i]==5 or baiwei1[i]==7 or baiwei1[i]==2:baiweizh.append(6)else:baiweizh.append(8)shiweizh=[]shiwei1=list(map(int, shiwei))for i in range(len(shiwei)):if shiwei1[i]==1 or shiwei1[i]==3 or shiwei1[i]==5 or shiwei1[i]==7 or shiwei1[i]==2:shiweizh.append(3)else:shiweizh.append(5)geweizh=[]gewei1=list(map(int, gewei))for i in range(len(gewei)):if gewei1[i]==1 or gewei1[i]==3 or gewei1[i]==5 or gewei1[i]==7 or gewei1[i]==2:geweizh.append(0)else:geweizh.append(2)baiweizh=np.array(baiweizh)[qiep:]shiweizh=np.array(shiweizh)[qiep:]geweizh=np.array(geweizh)[qiep:]print(len(geweizh),geweizh)plt.xticks(np.linspace(0, len(geweizh)-1, len(geweizh)),pl3qh)plt.yticks(np.linspace(0, 9, 10) , ['质','个位','合','质','十位','合','质','百位','合'])plt.grid()  # 生成网格plt.plot(zb,'w')plt.plot(baiweizh,'r')plt.plot(shiweizh,'g')plt.plot(geweizh,'b')plt.xlabel("最近 %d 期"%len(baiweizh))plt.ylabel("从上到下百十个位")plt.title("排列三质合走势图")plt.legend([' ','百位','十位','个位'])savefig('质合走势图.jpg')
def create_matplotlibz3z6():plt.clf()#组选3组选6走势图print('pl3qh',pl3qh,'pl3q',pl3q)z3z6h=DataFrame(columns=['0'])for i in range(len(pl3q)):a=[0,0,0]for j in range(3):ppp=pl3q.loc[i].str.get(j)a[j]=int(ppp)if a[0]!=a[1] and a[0]!=a[2] and a[1]!=a[2]:z3z6h.loc[i]=2else:z3z6h.loc[i]=1plt.xticks(np.linspace(0, len(z3z6h),len(z3z6h)+1),pl3qh)plt.yticks(np.linspace(0, 3,4) , [' ','组选3','组选6'])zb1=['0','1','2','3']plt.grid()  # 生成网格plt.plot(zb1,'w')plt.plot(z3z6h,'r')plt.xlabel("最近 %d 期"%len(z3z6h))plt.ylabel("有重复号码就是组选3,没重复号码就是组选6")plt.title("组选3组选6走势图")#plt.legend([' ','百位','十位','个位'])savefig('组选3组选6走势图.jpg')
def create_matplotlibhz():plt.clf()#和值0到13算小,14到27算大hz=DataFrame(columns=['0'])b=[0]*len(pl3q)for i in range(len(pl3q)):a=[0,0,0]for j in range(3):ppp=pl3q.loc[i].str.get(j)a[j]=int(ppp)b[i]=a[0]+a[1]+a[2]if b[i]<14:hz.loc[i]=1else:hz.loc[i]=2plt.xticks(np.linspace(0, len(hz),len(hz)+1),pl3qh)plt.yticks(np.linspace(0, 3,4) , [' ','和值0到13','和值14到27'])zb1=['0','1','2','3']plt.grid()  # 生成网格plt.plot(zb1,'w')plt.plot(hz,'r')plt.xlabel("最近 %d 期"%len(hz))plt.ylabel(" ")plt.title("和值走势图")#plt.legend([' ','百位','十位','个位'])savefig('和值走势图.jpg')
def create_matplotlibac():plt.clf()#AC值走势ac=DataFrame(columns=['AC'])for i in range(len(pl3q)):a=[0]*3for j in range(3):ppp=pl3q.loc[i].str.get(j)a[j]=int(ppp)if a[0]==a[1] and a[1]==a[2] and a[0]==a[2]:ac.loc[i]=0elif (a[0]==a[1] and a[0]!=a[2]) or (a[1]==a[2] and a[1]!=a[0]) or (a[2]==a[0] and a[2]!=a[1]):ac.loc[i]=1else:ac.loc[i]=2print('ac值',ac)plt.xticks(np.linspace(0, len(ac),len(ac)+1),pl3qh)plt.yticks(np.linspace(0, 3,4) , [' ac0三数相同','ac1有两数相同','ac2三数不同'])zb1=['0','1','2','3']plt.grid()  # 生成网格plt.plot(zb1,'w')plt.plot(ac,'r')plt.xlabel("最近 %d 期"%len(ac))plt.ylabel(" ")plt.title("ac走势图")#plt.legend([' ','百位','十位','个位'])savefig('ac走势图.jpg')def create_matplotliblh():plt.clf()#连号lh=DataFrame(columns=['连号'])for i in range(len(pl3q)):a=[0]*3for j in range(3):ppp=pl3q.loc[i].str.get(j)a[j]=int(ppp)if a[0]+1==a[1] or a[0]+1==a[2] or a[1]+1==a[2] or a[2]+1==a[1] or a[2]+1==a[0] or a[1]+1==a[0]:lh.loc[i]=2else:lh.loc[i]=1print('连号',lh)plt.xticks(np.linspace(0, len(lh),len(lh)+1),pl3qh)plt.yticks(np.linspace(0, 3,4) , [' ','无连号','有连号'])zb1=['0','1','2','3']plt.grid()  # 生成网格plt.plot(zb1,'w')plt.plot(lh,'r')plt.xlabel("最近 %d 期"%len(lh))plt.ylabel(" ")plt.title("连号走势图")#plt.legend([' ','百位','十位','个位'])savefig('连号走势图.jpg')
def create_matplotlibycz():plt.clf()#遗传值ycz=DataFrame(columns=['遗传值'])for i in range(len(pl3q)-1):a=[0]*3for j in range(3):ppp=pl3q.loc[i].str.get(j)a[j]=int(ppp)for x in range(3):ddd=''ddd=pl3q.loc[i+1].str.get(x)if a[j]==int(ddd):ycz.loc[i+1]=2breakelse:ycz.loc[i+1]=1if int(ycz.loc[i+1])==2:breakprint('遗传值',ycz)plt.xticks(np.linspace(0, len(ycz),len(ycz)+1),pl3qh)plt.yticks(np.linspace(0, 3,4) , [' ','无遗传值','有遗传值'])zb1=['0','1','2','3']plt.grid()  # 生成网格plt.plot(zb1,'w')plt.plot(ycz,'r')plt.xlabel("最近 %d 期"%len(ycz))plt.ylabel(" ")plt.title("遗传值走势图")#plt.legend([' ','百位','十位','个位'])savefig('遗传值走势图.jpg')#制作工具栏
toolframe = tk.Frame(root, height=20, bg='white')
frame = tk.Frame(toolframe, bg='white')btzft=ttk.Button(frame, text='0到9出现次数')
btzft.bind("<Button-1>",zft)
btzft.grid(row=0, column=0, padx=1, pady=1, sticky=tk.E)
btk=ttk.Button(frame, text='K线图')
btk.bind("<Button-1>",k)
btk.grid(row=0, column=1, padx=1, pady=1, sticky=tk.E)
btdx=ttk.Button(frame, text='大小走势')
btdx.bind("<Button-1>",dx)
btdx.grid(row=0, column=2, padx=1, pady=1, sticky=tk.E)
btjo=ttk.Button(frame, text='奇偶走势')
btjo.bind("<Button-1>",jo)
btjo.grid(row=0, column=3, padx=1, pady=1, sticky=tk.E)
btdxbl=ttk.Button(frame, text='大小比例')
btdxbl.bind("<Button-1>",dxbl)
btdxbl.grid(row=0, column=4, padx=1, pady=1, sticky=tk.E)
btdxbljj=ttk.Button(frame, text='大小比例精简')
btdxbljj.bind("<Button-1>",dxbljj)
btdxbljj.grid(row=0, column=5, padx=1, pady=1, sticky=tk.E)
btjobl=ttk.Button(frame, text='奇偶比例')
btjobl.bind("<Button-1>",jobl)
btjobl.grid(row=0, column=6, padx=1, pady=1, sticky=tk.E)
btjobljj=ttk.Button(frame, text='奇偶比例精简')
btjobljj.bind("<Button-1>",jobljj)
btjobljj.grid(row=0, column=7, padx=1, pady=1, sticky=tk.E)
btzh=ttk.Button(frame, text='质合走势')
btzh.bind("<Button-1>",zh)
btzh.grid(row=0, column=8, padx=1, pady=1, sticky=tk.E)
btzhbl=ttk.Button(frame, text='质合比例')
btzhbl.bind("<Button-1>",zhbl)
btzhbl.grid(row=0, column=9, padx=1, pady=1, sticky=tk.E)
btzhbljj=ttk.Button(frame, text='质合比例精简')
btzhbljj.bind("<Button-1>",zhbljj)
btzhbljj.grid(row=0, column=10, padx=1, pady=1, sticky=tk.E)
btz3z6=ttk.Button(frame, text='组选3组选6')
btz3z6.bind("<Button-1>",z3z6)
btz3z6.grid(row=0, column=11, padx=1, pady=1, sticky=tk.E)
bthz=ttk.Button(frame, text='和值')
bthz.bind("<Button-1>",hz)
bthz.grid(row=0, column=12, padx=1, pady=1, sticky=tk.E)
btac=ttk.Button(frame, text='ac值')
btac.bind("<Button-1>",ac)
btac.grid(row=0, column=13, padx=1, pady=1, sticky=tk.E)
btlh=ttk.Button(frame, text='连号')
btlh.bind("<Button-1>",lh)
btlh.grid(row=0, column=14, padx=1, pady=1, sticky=tk.E)
btycz=ttk.Button(frame, text='遗传值')
btycz.bind("<Button-1>",ycz)
btycz.grid(row=0, column=15, padx=1, pady=1, sticky=tk.E)
frame.pack(side=tk.LEFT)
toolframe.pack(fill=tk.X)
canvas = FigureCanvasTkAgg(f, master=root)
canvas.draw()
canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH,expand=tk.YES) # 上对齐,填充方式,随窗口大小调整而调整#创建顶级菜单
menubar = Menu(root)# for item in ['文件','编辑','视图','关于']:
#     # add_command 添加菜单项
#     menubar.add_command(label = item)
#下拉菜单
fmenu = Menu(menubar)
#for item in ['新建','打开','保存','另存为','退出']:
fmenu.add_command(label = '新建')
fmenu.add_command(label ='打开' )
fmenu.add_command(label = '保存')
fmenu.add_command(label = '另存为')
fmenu.add_command(label = '退出',command=root.destroy)emenu = Menu(menubar)
for item in ['复制','粘贴','剪切']:emenu.add_command(label = item)vmenu = Menu(menubar)
#for item in ['默认视图','新式视图']:
vmenu.add_command(label = '0到9出现次数直方图',command=zft)#将figure显示在tkinter窗体上面
vmenu.add_command(label = 'K线图',command=k)
vmenu.add_command(label = '大小走势',command=dx)
vmenu.add_command(label = '奇偶走势',command=jo)amenu = Menu(menubar)
for item in ['版权信息','其他说明']:amenu.add_command(label = item)menubar.add_cascade(label = "文件",menu = fmenu)
menubar.add_cascade(label = "编辑",menu = emenu)
menubar.add_cascade(label = "排列3",menu = vmenu)
menubar.add_cascade(label = "关于",menu = amenu)
#显示菜单
root['menu']= menubar# root.config(menu=menubar)#将root根窗口的顶级菜单设置为menuroot.mainloop()
'''
#这是程序真正开始执行处,如果程序被直接执行了而不是被当作库调用,则运行main()函数
if __name__ == '__main__':main()
'''

python彩票分析,一顿瞎统计相关推荐

  1. python彩票分析_数字化场景应用平台加持,开课吧学员Python挑战赛秀出代码精彩...

    来源标题:数字化场景应用平台加持,开课吧学员Python挑战赛秀出代码精彩 企业在数字化转型过程中,如何应对数字化人才短缺成为了最大挑战.同时,很多企业还意识到在外部人才争夺战日益激烈的大背景下,仅仅 ...

  2. python彩票分析_028期海天福彩3D预测奖号:百十个位012路分析

    福彩3D第2021027期开奖号:472,试机号:211.其中奖号和值:13,奇偶比1:2,大小比1:2. 和尾大小分析:在前50期开奖中和尾大小比为25:25,和尾大小走势基本相当:在前20期开奖中 ...

  3. python 彩票分析_294期钱哥福彩3D预测奖号:杀号分析

    福彩3D第2020293期:奖号为:566,试机号为:676. 胆码: 福彩3D第2020289期-第2020293期连续5期开出号码分别为:086-418-753-941-566. 其中,小号出现了 ...

  4. python彩票分析_128期老铁大乐透预测奖号:大中小码分析

    体彩大乐透第20127期奖号为:01 04 17 18 26+03 10,其中前区奖号奇偶比为2:3,大中小比为2:2:1,012路比为1:2:2,后区为一大一小组合. 老铁大乐透第2020128期前 ...

  5. python彩票分析_128期老李大乐透预测奖号:后区和值分析

    体彩大乐透第2020127期奖号为:01 04 17 18 26 + 03 10,其中前区号码奇偶比为2:3,大小比为2:3,012路比为1:2:2,后区和值为13,跨度为7. 老李大乐透第20128 ...

  6. python 彩票分析_285期庄德福彩3D预测奖号:类型判断

    福彩3D第2020284期奖号:502,试机号:416. 类型判断:上期奖号为502.号码0近10期开出6次,走势活跃,号码2出现6次,大热,号码5出现2次,走势较冷,三位号码走势总体较热,本期注意温 ...

  7. python彩票分析_033期钟玄福彩3D预测奖号:组选类型分析

    福彩3D第2021032期试机号为484,奖号为072,奖号类型为组六,奇偶比为1:2,大小比为1:2. 类型分析:福彩3D在上一个30期周期内(第2020291期-第2021007期),豹子号码没有 ...

  8. python 彩票分析_294期秀才福彩3D预测奖号:六码组六参考

    第2020293期福彩3D试机号为676,奖号为566.奖号形态为组三,大小比为3:0,和值为17,奇偶比为1:2,012路比为2:0:1,跨度为1. 福彩3D第2020294期两位合分析: 百十位合 ...

  9. python彩票分析_028期秀才福彩3D预测奖号:双胆推荐

    第2021027期福彩3D试机号为211,奖号为472.奖号形态为组六,大小比为1:2,和值为13,奇偶比为1:2,012路比为0:2:1,跨度为5. 福彩3D第2021028期两位合分析: 百十位合 ...

最新文章

  1. 【回顾】紫丁香一队的故事
  2. 计算机软件资源包括哪些部分组成,操作系统的计算机系统资源包含哪些
  3. 清理Visual Studio2010产生的垃圾调试文件
  4. file_operations结构
  5. 异步tcp通信——APM.ConsoleDemo
  6. 代理、正向代理与反向代理
  7. 精英网络技术论坛免杀基础
  8. 如何安装Chrome OS系统
  9. BankNext 微服务:案例研究
  10. 【M365运维】Outlook会议室查找工具找不到会议室
  11. 无法处理类型为text html,types – 解释为Font但使用MIME类型text / html传输的资源将无法修复...
  12. Pytorch 模型 查看网络参数的梯度以及参数更新是否正确,优化器学习率设置固定的学习率,分层设置学习率
  13. Vue学习----第三天_webpack(学习webpack看这一篇就够了1.8w字)【6.7】
  14. NodeJS-框架express-Koa-Hapi的区别
  15. Android用MediaCodec将相机预览帧编码成MP4视频
  16. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java高校就业管理系统157v3
  17. 添加删除选项ABCD,
  18. HTML界面多语言切换
  19. python爬虫数据分析项目 双十一_基于Python爬取京东双十一商品价格曲线
  20. 【原创】连连看Flex版设计与实现

热门文章

  1. 582个专业,1281个本科院校,你会如何选择?
  2. 计算机图形学概论论文5000字,《论文_计算机图形学论文李(定稿)》
  3. Flutter悬浮按钮FloatingActionButton使用详解
  4. 阿里与华为,引领科技现代化进程
  5. Acrel-1000变电站综合自动化监控系统在某物流园35kV变电站中应用
  6. 【CMake】CMakeLists.txt的超傻瓜手把手教程(附实例源码)
  7. 苹果公司的专利战其实是营销战略?
  8. 在weblogic中发布ejb需涉及到哪些配置文件
  9. mysql count 返回0_如果没有找到记录,MySql count()返回0
  10. Mysql初级第三天(wangyun)