用python的wxpython模块实现一个简单的与用户可以交互计算器

   说起来这个算法应该是漏洞百出了,完全是胡乱凑起来的,不过作为自己的一个练习,也算是一个小小的成果吧。

   基于前面学习的图形用户界面,就有了这么一个编写计算器的想法了,本人菜鸟,希望大神口下留情,当然能给出建议就更加感谢了。

# -*- coding: cp936 -*-
import wx
import string
app=wx.App()
win=wx.Frame(None,title='小学计算器',size=(410,335))
bg=wx.Panel(win)

def result(event):
   a=entfile1.GetValue()
   b=entfile2.GetValue()
   f=flofile.GetValue()
   if f=='+':
       res=int(a)+int(b)
       refile.SetValue(a+f+b+'='+str(res))
   elif f=='-':
       res=int(a)-int(b)
       refile.SetValue(a+f+b+'='+str(res))
   elif f=='*':
       res=int(a)*int(b)
       refile.SetValue(a+f+b+'='+str(res))
   elif f=='%':
       res=float(a)/int(b)
       refile.SetValue(a+f+b+'='+str(res))

rebut=wx.Button(bg,label='OK')

rebut.Bind(wx.EVT_BUTTON,result)

entfile1=wx.TextCtrl(bg)
entfile2=wx.TextCtrl(bg)
flofile=wx.TextCtrl(bg)
refile=wx.TextCtrl(bg)

level=wx.BoxSizer()
level.Add(entfile1,proportion=1,flag=wx.EXPAND)
level.Add(flofile,proportion=0,flag=wx.LEFT,border=5)
level.Add(entfile2,proportion=1,flag=wx.EXPAND|wx.LEFT,border=5)

down=wx.BoxSizer(wx.VERTICAL)
down.Add(level,proportion=0,flag=wx.EXPAND|wx.ALL,border=5)
down.Add(rebut,proportion=0,flag=wx.EXPAND|wx.LEFT|wx.RIGHT,border=5)
down.Add(refile,proportion=1,flag=wx.EXPAND|wx.ALL,border=5)

bg.SetSizer(down)


win.Show()
app.MainLoop()
以后我一定要改进一个更加完美的计算器出来,嘿嘿


你可能感兴趣的:(python,import,计算器)