一 开发环境说明:

  python3.5+wxpython包+math包

  win10环境下开发,兼任win7

  编译工具:pycharm

二 运行界面展示:

三 开源共享:

  1 #! /user/bin/env python
  2 #coding=utf-8
  3 import sys
  4 sys.path.append('C:\Program Files\Python35\Lib\site-packages')
  5 import wx
  6 import math
  7
  8 class MyFrame(wx.Frame):
  9     def __init__(self):
 10         wx.Frame.__init__(self,None,-1,"Spur计算_chenyuyang",size=(560,300))
 11         self.Center()
 12         panel = wx.Panel(self)
 13         panel.Center()
 14
 15         boxsize= wx.BoxSizer(wx.VERTICAL)
 16         font = wx.Font(16,wx.ROMAN,wx.NORMAL,wx.BOLD,underline=False)
 17         font1 = wx.Font(8,wx.ROMAN,wx.NORMAL,wx.BOLD,underline = False)
 18         font2 = wx.Font(10,wx.ROMAN,wx.NORMAL,wx.BOLD,underline = False)
 19
 20         self.btn0 = wx.StaticText(panel,-1,label='\n信号频率',style = wx.ALIGN_CENTER)
 21         self.btn1 = wx.TextCtrl(panel,-1)
 22
 23         self.btn2 = wx.StaticText(panel,-1,label='\n干扰频率',style = wx.ALIGN_CENTER)
 24         self.btn3 = wx.TextCtrl(panel,-1)
 25
 26         self.btn4 = wx.StaticText(panel,-1,label='\nN次谐波',style = wx.ALIGN_CENTER)
 27         self.btn5 = wx.TextCtrl(panel,-1)
 28
 29         self.btn6 = wx.StaticText(panel,-1,label='\nSpur值',style = wx.ALIGN_CENTER)
 30         self.btn7 = wx.TextCtrl(panel,-1)
 31
 32         self.btn8 = wx.Button(panel,-1,label='计算')
 33         self.btn9 = wx.Button(panel, -1, label='清除')
 34
 35         self.btn8.Bind(wx.EVT_BUTTON,self.OneClick)
 36         self.btn9.Bind(wx.EVT_BUTTON, self.OneClick1)
 37
 38         for i in range(10,20):
 39             j = i - 9
 40             exec("self.btn%s = wx.Button(panel,label='%s')"%(i,j))
 41
 42         for i in range(20,30):
 43             exec("self.btn%s = wx.TextCtrl(panel,-1)"%i)
 44
 45         for i in range(30, 40):
 46             j = i - 19
 47             exec("self.btn%s = wx.Button(panel,label='%s')" % (i, j))
 48
 49         for i in range(40, 50):
 50             exec("self.btn%s = wx.TextCtrl(panel,-1)" %i)
 51
 52         for i in range(50, 60):
 53             j = i - 29
 54             exec("self.btn%s = wx.Button(panel,label='%s')" % (i, j))
 55
 56         for i in range(60, 70):
 57             exec("self.btn%s = wx.TextCtrl(panel,-1)" %i)
 58
 59         for i in range(70, 80):
 60             j = i - 9
 61             exec("self.btn%s = wx.Button(panel,label='%s')" % (i, j))
 62
 63         for i in range(80, 90):
 64             exec("self.btn%s = wx.TextCtrl(panel,-1)" %i)
 65
 66
 67         for i in range(0,10):
 68             exec("self.btn%s.SetFont(font1)"%i)
 69
 70         for i in range(10,90):
 71             exec("self.btn%s.SetFont(font)" %i)
 72
 73         for i in range(20,30):
 74             exec("self.btn%s.SetFont(font2)"%i)
 75
 76         for i in range(40,50):
 77             exec("self.btn%s.SetFont(font2)"%i)
 78
 79         for i in range(60,70):
 80             exec("self.btn%s.SetFont(font2)"%i)
 81
 82         for i in range(80,90):
 83             exec("self.btn%s.SetFont(font2)"%i)
 84
 85         gridsizer = wx.GridSizer(cols = 10,rows = 9,vgap = 0,hgap = 0)
 86
 87         gridsizer.AddMany([(self.btn0,0,wx.EXPAND),
 88         (self.btn1,0,wx.EXPAND),
 89         (self.btn2, 0, wx.EXPAND),
 90         (self.btn3, 0, wx.EXPAND),
 91         (self.btn4, 0, wx.EXPAND),
 92         (self.btn5, 0, wx.EXPAND),
 93         (self.btn6, 0, wx.EXPAND),
 94         (self.btn7, 0, wx.EXPAND),
 95         (self.btn8, 0, wx.EXPAND),
 96         (self.btn9, 0, wx.EXPAND),
 97         (self.btn10, 0, wx.EXPAND),
 98         (self.btn11, 0, wx.EXPAND),
 99         (self.btn12, 0, wx.EXPAND),
100         (self.btn13, 0, wx.EXPAND),
101         (self.btn14, 0, wx.EXPAND),
102         (self.btn15, 0, wx.EXPAND),
103         (self.btn16, 0, wx.EXPAND),
104         (self.btn17, 0, wx.EXPAND),
105         (self.btn18, 0, wx.EXPAND),
106         (self.btn19, 0, wx.EXPAND),
107         (self.btn20, 0, wx.EXPAND),
108         (self.btn21,0,wx.EXPAND),
109         (self.btn22, 0, wx.EXPAND),
110         (self.btn23, 0, wx.EXPAND),
111         (self.btn24, 0, wx.EXPAND),
112         (self.btn25, 0, wx.EXPAND),
113         (self.btn26, 0, wx.EXPAND),
114         (self.btn27, 0, wx.EXPAND),
115         (self.btn28, 0, wx.EXPAND),
116         (self.btn29, 0, wx.EXPAND),
117         (self.btn30, 0, wx.EXPAND),
118         (self.btn31, 0, wx.EXPAND),
119         (self.btn32, 0, wx.EXPAND),
120         (self.btn33, 0, wx.EXPAND),
121         (self.btn34, 0, wx.EXPAND),
122         (self.btn35, 0, wx.EXPAND),
123         (self.btn36, 0, wx.EXPAND),
124         (self.btn37, 0, wx.EXPAND),
125         (self.btn38, 0, wx.EXPAND),
126         (self.btn39, 0, wx.EXPAND),
127         (self.btn40, 0, wx.EXPAND),
128         (self.btn41, 0, wx.EXPAND),
129         (self.btn42, 0, wx.EXPAND),
130         (self.btn43, 0, wx.EXPAND),
131         (self.btn44, 0, wx.EXPAND),
132         (self.btn45, 0, wx.EXPAND),
133         (self.btn46, 0, wx.EXPAND),
134         (self.btn47, 0, wx.EXPAND),
135         (self.btn48, 0, wx.EXPAND),
136         (self.btn49, 0, wx.EXPAND),
137         (self.btn50, 0, wx.EXPAND),
138         (self.btn51, 0, wx.EXPAND),
139         (self.btn52, 0, wx.EXPAND),
140         (self.btn53, 0, wx.EXPAND),
141         (self.btn54, 0, wx.EXPAND),
142         (self.btn55, 0, wx.EXPAND),
143         (self.btn56, 0, wx.EXPAND),
144         (self.btn57, 0, wx.EXPAND),
145         (self.btn58, 0, wx.EXPAND),
146         (self.btn59, 0, wx.EXPAND),
147         (self.btn60, 0, wx.EXPAND),
148         (self.btn61, 0, wx.EXPAND),
149         (self.btn62, 0, wx.EXPAND),
150         (self.btn63, 0, wx.EXPAND),
151         (self.btn64, 0, wx.EXPAND),
152         (self.btn65, 0, wx.EXPAND),
153         (self.btn66, 0, wx.EXPAND),
154         (self.btn67, 0, wx.EXPAND),
155         (self.btn68, 0, wx.EXPAND),
156         (self.btn69, 0, wx.EXPAND),
157         (self.btn70, 0, wx.EXPAND),
158         (self.btn71, 0, wx.EXPAND),
159         (self.btn72, 0, wx.EXPAND),
160         (self.btn73, 0, wx.EXPAND),
161         (self.btn74, 0, wx.EXPAND),
162         (self.btn75, 0, wx.EXPAND),
163         (self.btn76, 0, wx.EXPAND),
164         (self.btn77, 0, wx.EXPAND),
165         (self.btn78, 0, wx.EXPAND),
166         (self.btn79, 0, wx.EXPAND),
167         (self.btn80, 0, wx.EXPAND),
168         (self.btn81, 0, wx.EXPAND),
169         (self.btn82, 0, wx.EXPAND),
170         (self.btn83, 0, wx.EXPAND),
171         (self.btn84, 0, wx.EXPAND),
172         (self.btn85, 0, wx.EXPAND),
173         (self.btn86, 0, wx.EXPAND),
174         (self.btn87, 0, wx.EXPAND),
175         (self.btn88, 0, wx.EXPAND),
176         (self.btn89, 0, wx.EXPAND)])
177
178         for i in range(10,20):
179             exec("self.btn%s.BackgroundColour='pale green'"%i)
180
181         for i in range(30,40):
182             exec("self.btn%s.BackgroundColour='pale green'" %i)
183
184         for i in range(50, 60):
185             exec("self.btn%s.BackgroundColour='pale green'" %i)
186
187         for i in range(70, 80):
188             exec("self.btn%s.BackgroundColour='pale green'" %i)
189
190         self.btn9.BackgroundColour = 'PINK'
191         self.btn8.BackgroundColour = 'AQUAMARINE'
192
193         boxsize.Add(gridsizer,6,wx.EXPAND)
194         panel.SetSizerAndFit(boxsize)
195
196     def OneClick(self,event):
197         str18 = self.btn1.GetValue()
198         a19 = float(str18)
199
200         str21 = self.btn3.GetValue()
201         a11 = float(str21)
202
203         for a15 in range(1,11):
204             x = a15*a11
205             y = int(x/a19)
206             z = x - y*a19
207
208             if z < a19/2:
209                 a38 = z
210             else:
211                 a38 = a19 - z
212             a39 = int(a38*10**5)/(10**5)
213
214             a40 = "%.5f"%a39
215             j = a15 + 19
216
217             exec("self.btn%s.SetValue('%s')"%(j,a40))
218
219         for a15 in range(11, 21):
220             x = a15 * a11
221             y = int(x / a19)
222             z = x - y * a19
223
224             if z < a19 / 2:
225                 a38 = z
226             else:
227                 a38 = a19 - z
228             a39 = int(a38 * 10 ** 5) / (10 ** 5)
229
230             a40 = "%.5f" % a39
231             j = a15 + 29
232
233             exec("self.btn%s.SetValue('%s')" % (j, a40))
234
235         for a15 in range(21, 31):
236             x = a15 * a11
237             y = int(x / a19)
238             z = x - y * a19
239
240             if z < a19 / 2:
241                 a38 = z
242             else:
243                 a38 = a19 - z
244             a39 = int(a38 * 10 ** 5) / (10 ** 5)
245
246             a40 = "%.5f" % a39
247             j = a15 + 39
248
249             exec("self.btn%s.SetValue('%s')" % (j, a40))
250
251         for a15 in range(31, 41):
252             x = a15 * a11
253             y = int(x / a19)
254             z = x - y * a19
255
256             if z < a19 / 2:
257                 a38 = z
258             else:
259                 a38 = a19 - z
260             a39 = int(a38 * 10 ** 5) / (10 ** 5)
261
262             a40 = "%.5f" % a39
263             j = a15 + 49
264
265             exec("self.btn%s.SetValue('%s')" % (j, a40))
266
267
268             str18 = self.btn1.GetValue()
269             a19 = float(str18)
270
271             str21 = self.btn3.GetValue()
272             a11 = float(str21)
273
274             str38 = self.btn5.GetValue()
275             a15 = float(str38)
276
277             x = a15*a11
278             y=int(x/a19)
279             z = x -y*a19
280
281             if z < a19/2:
282                 a38 = z
283             else:
284                 a38 = a19 -z
285
286             self.btn7.SetValue("%.5f"%a39)
287
288
289     def OneClick1(self,event):
290         self.btn1.Clear()
291         self.btn3.Clear()
292         self.btn5.Clear()
293         self.btn7.Clear()
294
295         for i in range(20,30):
296             exec("self.btn%s.Clear()"%i)
297
298         for i in range(40,50):
299             exec("self.btn%s.Clear()"%i)
300
301         for i in range(60,70):
302             exec("self.btn%s.Clear()"%i)
303
304         for i in range(80,90):
305             exec("self.btn%s.Clear()"%i)
306
307 class App(wx.App):
308     def OnInit(self):
309         self.cyy = MyFrame()
310         self.cyy.Bind(wx.EVT_CLOSE,self.OnClose,self.cyy)
311         self.cyy.Show()
312         return True
313
314     def OnClose(self,event):
315         dlg = wx.MessageDialog(None,"陈玉洋提示您:是否要关闭窗口?","请确认",wx.YES_NO | wx.ICON_QUESTION)
316         retCode = dlg.ShowModal()
317         if(retCode == wx.ID_YES):
318             self.cyy.Destroy()
319         else:
320             pass
321 if __name__ == '__main__':
322     app = App()
323     app.MainLoop()

四 打包xe文件下载地址:

  百度网盘:https://pan.baidu.com/s/15Ee0xfJNYUCUpKViLIQQqw

十年编程两茫茫,工期短,需求长。千行代码,Bug何处藏。纵使上线又如何,新版本,继续忙。黑白颠倒没商量,睡地铺,吃食堂。夜半梦醒,无人在身旁。最怕灯火阑珊时,手机响,心里慌。

转载于:https://www.cnblogs.com/chenyuyang/p/10182802.html

自学python---03_Spur计算工具开发相关推荐

  1. 基于AI伪原创API的python伪原创工具开发

    功能上分别具有4种ai智能算法,在线伪原创,批量伪原创,自定义文本替换等功能,自定义锁词,在线API功能.可以对接采集工具和个人网站使用.智能改写后的文章具有可读性高,原创度高的特点,对各大搜索引擎都 ...

  2. Python数学计算工具5、Python求最最小公倍数

    最小公倍数百度解析: 两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数.整数a,b的最小公倍数记为[a,b],同样的,a,b,c的最小公倍数记为[a, ...

  3. Python 微信自动化工具开发系列02_自动获取微信多个好友聊天信息(2023年1月可用)

    前言 一个需求需要利用Python+第三方库wxauto 用于微信上自动获取聊天信息,从而根据自己需求对信息自动进行二次处理, 比如自动回复,再比如自动发送文件或者其他.--- 记录于2022年07月 ...

  4. Python 微信自动化工具开发系列04_所有微信群的群文件自动同步拷贝到群名对应的新文件夹中(2023年1月可用)

    前言 一个需求需要利用Python+第三方库wxauto 用于微信上自动获取聊天信息,从而根据自己需求对信息自动进行二次处理, 比如自动回复,再比如自动发送文件或者其他.--- 记录于2022年08月 ...

  5. C# CAD二次开发——建筑结构墙体线荷载计算工具开发(一)

    前言: 本人是一名建筑设计公司的结构设计人员,建筑业的势头显然没有前些年那般波涛汹涌.浪潮暂退的今天很多向我这样的结构设计从业人员倍感迷茫.行业沉寂的这些日子里我不断探索,希望在减隔震.BIM.钢结构 ...

  6. Python数学计算工具3、Python 斐波那契数列-前500项列表

    百度解析: 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数 ...

  7. android 坐标距离计算器,距离测量-地图计算工具-开发指南-Android 地图SDK | 高德地图API...

    从搜索功能6.1.0 版本开始支持距离测量功能.使用此方法可以在不请求驾车出行路线规划接口的同时完成距离计算.目前支持直线距离和驾车距离的测量. 第 1 步,初始化 DistanceSearch 对象 ...

  8. Python数学计算工具4、Python求最大公约数

    最大公约数百度解析: 最大公因数,也称最大公约数.最大公因子,指两个或多个整数共有约数中最大的一个. a,b的最大公约数记为(a,b),同样的,a,b,c的最大公约数记为(a,b,c),多个整数的最大 ...

  9. Python科学计算工具:NumPy第一部分

    ###序言:     NumPy系统是Python的一种开源的数值计算扩展.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多( ...

最新文章

  1. [MFC] MFC编译程序,缺少MFC动态链接库的解决
  2. [20181015]为什么是3秒.txt
  3. 分布式系统原理 之1 数据分布方式
  4. vue项目使用mint-ui库
  5. Adobe AIR for html/js人员
  6. 解读边缘计算在7大领域的研究趋势和最新进展
  7. Sublime Text3中 less 自动编译成 css 的方法
  8. Python标准库中的io
  9. 关于Adodb.Stream 的使用说明
  10. tenorflow异常集合(自用记录)
  11. 2018年python工作好找吗-Python的发展状况-2018年
  12. Java编程软件教学:Eclipse入门
  13. 【Redis】keys命令和SCAN命令
  14. Python函数调用的九大方法,鲜为人知
  15. 应用程序无法找到入口
  16. php追加append,PHP ArrayObject append()用法及代码示例
  17. Elasticsearch中object类型与nested类型之间的区别
  18. java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.c
  19. 2020年车易加加油优惠卡开启移动加油新时代
  20. 乔治亚理工学院计算机专业,佐治亚理工学院计算机专业怎么样?

热门文章

  1. BYOA,也许是IT大叔眼中的新生代萝莉
  2. 支票代码输出(语言基础)
  3. 如何使用windows自带远程桌面连接linux,使用Windows自带远程桌面应用连接CentOS8远程桌面...
  4. 如何给未签收物流备注信息
  5. Qt版本-塔防游戏实现二
  6. Leetcode刷题986. 区间列表的交集
  7. WebRTC应用问题记录(附项目demo源码)
  8. 计算机环境下会计循环的八个流程,会计循环的基本步骤和流程是怎样的
  9. KLayout学习记录(一)
  10. Gmailnbsp;邮箱登陆慢打不开和如何成功…