计算器

简介:
import tkinter as tk from tkinter import ttk import pandas as pd from prettytable import PrettyTable '''号码投注方案计算器''' # 程序界面 class AppWindow(tk.Frame): def __init__ ( self , master = None ): super (). __init__ (master) self .grid(row = 0 , column = 0 , sticky = "nsew" ) self .setupUI() def setupUI( self ): leftwidth = 5 rightwidth = 15 mainframe = tk.Frame( self ) mainframe.pack(fill = "x" ) # 第一行:特码毛赔率 rowframe1 = tk.Frame(mainframe) rowframe1.pack(fill = "x" , ipadx = 3 , ipady = 3 ) self .peilv = tk.DoubleVar() self .peilv. set ( 42 ) tk.Entry(rowframe1, textvariable = self .peilv).pack(side = tk.RIGHT) tk.Label(rowframe1, text = "赔率" ).pack(side = tk.RIGHT) # 第二行:起始倍数 rowframe2 = tk.Frame(mainframe) rowframe2.pack(fill = "x" , ipadx = 3 , ipady = 3 ) self .start_beishu = tk.IntVar() self .start_beishu. set ( 1 ) tk.Entry(rowframe2, textvariable = self .start_beishu).pack(side = tk.RIGHT) tk.Label(rowframe2, text = "起始倍数" ).pack(side = tk.RIGHT) # 第三行:注数 rowframe3 = tk.Frame(mainframe) rowframe3.pack(fill = "x" , ipadx = 3 , ipady = 3 ) self .zhushu = tk.IntVar() self .zhushu. set ( 10 ) tk.Entry(rowframe3, textvariable = self .zhushu).pack(side = tk.RIGHT) tk.Label(rowframe3, text = "注数" ).pack(side = tk.RIGHT) # 第四行:最小收益率 rowframe4 = tk.Frame(mainframe) rowframe4.pack(fill = "x" , ipadx = 3 , ipady = 3 ) self .min_shouyilv = tk.DoubleVar() self .min_shouyilv. set ( 0.5 ) tk.Entry(rowframe4, textvariable = self .min_shouyilv).pack(side = tk.RIGHT) tk.Label(rowframe4, text = "最小收益率" ).pack(side = tk.RIGHT) # 第五行:按钮 rowframe5 = tk.Frame(mainframe) rowframe5.pack(fill = "x" , ipadx = 3 , ipady = 3 ) ttk.Button(rowframe5, text = '确定' , command = self .calc).pack(side = tk.RIGHT) def calc_a_row( self , index, last_beishu, last_cumsumtouru): '''根据上期倍数、上期累计投入,计算本期''' zhushu, peilv, min_shouyilv = self .zhushu.get(), self .peilv.get(), self .min_shouyilv.get() bs = last_beishu while True : cumsumtouru = last_cumsumtouru + bs * zhushu # 累计投入 cumsumshouyi = bs * peilv - cumsumtouru # 累计收益 if cumsumshouyi / cumsumtouru < min_shouyilv: bs += 1 else : break # ['期数','倍数','注数','本期投入','累计投入','本期收益','累计收益','累计收益率'] return [index +1 , bs, zhushu, bs * zhushu, cumsumtouru, round (bs * peilv, 2 ), round (cumsumshouyi, 2 ), round (cumsumshouyi / cumsumtouru, 4 )] def calc_n_row( self , n = 10 ): '''计算n期''' res = [] for i in range (n): if i == 0 : res.append( self .calc_a_row(i, self .start_beishu.get(), 0 )) elif i > 0 : res.append( self .calc_a_row(i, res[ - 1 ][ 1 ], res[ - 1 ][ 4 ])) return res def calc( self ): '''倍投计算(用prettytable显示结果)''' n = 10 res = self .calc_n_row(n) table = PrettyTable([ '期数' , '倍数' , '注数' , '本期投入' , '累计投入' , '本期收益' , '累计收益' , '累计收益率' ]) for i in range (n): table.add_row(res[i]) print (table) def calc2( self ): '''倍投计算(用pandas显示结果)''' n = 10 res = self .calc_n_row(n) df = pd.DataFrame(res, columns = [ '期数' , '倍数' , '注数' , '本期投入' , '累计投入' , '本期收益' , '累计收益' , '累计收益率' ]) print (df) def main(): root = tk.Tk() root.columnconfigure( 0 , weight = 1 ) root.rowconfigure( 0 , weight = 1 ) # Grid管理器允许通过几个方法来控制组件在容器中的位置。weight选项指出一个行或列的相对缩放比例,针对一个行,如果将weight设为3,那么他将以三倍于weight值为1的比例伸展。默认值是0,表明当用户改变窗口大小时,单元格的大小保持不变。 #root.geometry('640x360') # 主窗口大小 root.resizable(width = False , height = False ) # 禁止改变大小 root.title( "计算器" ) app = AppWindow(root) app.mainloop() if __name__ == "__main__" : main()

pass



本文转自罗兵博客园博客,原文链接:http://www.cnblogs.com/hhh5460/p/5686919.html,如需转载请自行联系原作者

相关文章
|
7月前
|
域名解析 弹性计算 Linux
阿里云服务器怎么使用教程?图文操作教程
阿里云服务器怎么使用教程?图文操作教程,使用阿里云服务器快速搭建网站教程,先为云服务器安装宝塔面板,然后在宝塔面板上新建站点,阿里云服务器网以搭建WordPress网站博客为例,来详细说下从阿里云服务器CPU内存配置选择、Web环境、域名解析到网站上线全流程
625 0
|
前端开发
ESC使用体验
飞天加速计划
|
弹性计算 Linux
阿里云的ESC领用和体验
阿里云的ECS服务器是我用过最好的,推荐!!!
|
弹性计算 安全 Linux
esc使用体验心得
在我看来云服务器有以下优点:省力,不需要专门花时间去维护服务器的硬件,看服务器是否运行正常;稳定,这应该是最主要的有点;安全,做web开发最怕的当然是攻击,所以选择大厂的服务器,自然是最香的;省钱,这当然也是很重要的,尤其对于我们学生用户还是很友好的,爆赞!
|
Linux 网络安全 数据安全/隐私保护
初次使用ESC体验
第一次使用阿里云服务器体验
|
程序员 Linux Docker
ESC初次体验
关于我的esc初次体验
|
安全 网络安全 数据安全/隐私保护
ESC使用初次体验
端口25不能使用
|
数据安全/隐私保护 弹性计算
ESC初次使用体验
ESC服务的使用体验
103 0
ESC初次使用体验
|
安全 Linux 网络安全
关于初次使用阿里云ESC体验
这个服务器主要是想搞一个QQBot,通过开源的mirai来实现。 在这个服务器上安装了一个插件,这个插件主要通过oAuth协议实现第三方网站的认证授权,记录一下本人使用过程中踩过的坑。
关于初次使用阿里云ESC体验