• Python 计算器


    初学Python,从计算器做起。

    Python2.5+wxPython

    1. #!/bin/env python
    2. # -*- coding: cp936 -*-
    3. #   above for resolve chinese issue
    4. import wx
    5. import math
    6. class MyFrame(wx.Frame):
    7.     def __init__(self):
    8.         wx.Frame.__init__(selfNone, -1"计算器Calculator", size=(270250))
    9.         panel = wx.Panel(self, -1)
    10.         self.textBox1 = wx.TextCtrl(panel, -1, "", pos=(4010),size=(200,30))
    11.         wx.StaticText(panel, -1"R:", pos=(1012))
    12.         self.button7 = wx.Button(panel, -1"7", pos=(5485),size=(36,26))
    13.         self.button8 = wx.Button(panel, -1"8", pos=(9285),size=(36,26))
    14.         self.button9 = wx.Button(panel, -1"9", pos=(132,85),size=(36,26))
    15.         self.button4 = wx.Button(panel, -1"4", pos=(54116),size=(36,26))
    16.         self.button5 = wx.Button(panel, -1"5", pos=(92116),size=(36,26))
    17.         self.button6 = wx.Button(panel, -1"6", pos=(132,116),size=(36,26))
    18.         self.button1 = wx.Button(panel, -1"1", pos=(54147),size=(36,26))
    19.         self.button2 = wx.Button(panel, -1"2", pos=(92147),size=(36,26))
    20.         self.button3 = wx.Button(panel, -1"3", pos=(132147),size=(36,26))
    21.         self.button0 = wx.Button(panel, -1"0", pos=(54178),size=(36,26))
    22.         self.buttonplusorminus = wx.Button(panel, -1"+/-", pos=(92178),size=(36,26))
    23.         self.buttondot = wx.Button(panel, -1".", pos=(132178),size=(36,26))
    24.         self.buttonmul = wx.Button(panel, -1"*", pos=(17185),size=(36,26))
    25.         self.buttondiv = wx.Button(panel, -1"/", pos=(171116),size=(36,26))
    26.         self.buttonminus = wx.Button(panel, -1"-", pos=(171147),size=(36,26))
    27.         self.buttonplus = wx.Button(panel, -1"+", pos=(171178),size=(36,26))
    28.         self.buttonsqrt = wx.Button(panel, -1"sqrt", pos=(21185),size=(36,26))
    29.         self.buttonpercent = wx.Button(panel, -1"%", pos=(211116),size=(36,26))
    30.         self.buttonrev = wx.Button(panel, -1"1/x", pos=(211147),size=(36,26))
    31.         self.buttonequal = wx.Button(panel, -1"=", pos=(211178),size=(36,26))
    32.         self.buttoncancel = wx.Button(panel, -1"C", pos=(20054),size=(47,26))
    33.         self.button1.Bind(wx.EVT_BUTTON, self.OnClick)
    34.         self.button2.Bind(wx.EVT_BUTTON, self.OnClick)
    35.         self.button3.Bind(wx.EVT_BUTTON, self.OnClick)
    36.         self.button4.Bind(wx.EVT_BUTTON, self.OnClick)
    37.         self.button5.Bind(wx.EVT_BUTTON, self.OnClick)
    38.         self.button6.Bind(wx.EVT_BUTTON, self.OnClick)
    39.         self.button7.Bind(wx.EVT_BUTTON, self.OnClick)
    40.         self.button8.Bind(wx.EVT_BUTTON, self.OnClick)
    41.         self.button9.Bind(wx.EVT_BUTTON, self.OnClick)
    42.         self.button0.Bind(wx.EVT_BUTTON, self.OnClick)
    43.         self.buttondot.Bind(wx.EVT_BUTTON, self.OnClick)
    44.         self.buttonmul.Bind(wx.EVT_BUTTON, self.OnClick)
    45.         self.buttondiv.Bind(wx.EVT_BUTTON, self.OnClick)
    46.         self.buttonminus.Bind(wx.EVT_BUTTON, self.OnClick)
    47.         self.buttonplus.Bind(wx.EVT_BUTTON, self.OnClick)
    48.         
    49.         self.buttonequal.Bind(wx.EVT_BUTTON, self.OnCompute)
    50.         self.buttonsqrt.Bind(wx.EVT_BUTTON, self.OnSqrt)
    51.         self.buttonrev.Bind(wx.EVT_BUTTON, self.OnRev)
    52.         self.buttonpercent.Bind(wx.EVT_BUTTON, self.OnPert)
    53.         self.buttoncancel.Bind(wx.EVT_BUTTON, self.OnCancel)
    54.         self.buttonequal.SetDefault()
    55.     def OnClick(self, event):
    56.         self.textBox1.SetValue(self.textBox1.GetValue()+event.GetEventObject().GetLabel())
    57.     def OnCompute(self, event):
    58.         if self.textBox1.GetValue() != '':
    59.             self.textBox1.SetValue(str(eval(self.textBox1.GetValue())))
    60.     def OnSqrt(self, event):
    61.         self.textBox1.SetValue(str(math.sqrt(eval(self.textBox1.GetValue()))))
    62.     def OnRev(self, event):
    63.         self.textBox1.SetValue(str(1.0/(eval(self.textBox1.GetValue()))))
    64.     def OnPert(self, event):
    65.         self.textBox1.SetValue(str((eval(self.textBox1.GetValue()))/100.0))
    66.     def OnCancel(self, event):
    67.         self.textBox1.SetValue("")
    68. if __name__ == '__main__':
    69.     print ("Start")
    70.     app = wx.PySimpleApp()
    71.     frame = MyFrame()
    72.     frame.Show(True)
    73.     app.MainLoop()
  • 相关阅读:


    django 认证系统--3
    django 认证系统--2
    django 认证系统--1


    关于二叉树
    [GeeksForGeeks] Remove all half nodes of a given binary tree
    [LintCode] Letter Combinations of a Phone Number
  • 原文地址:https://www.cnblogs.com/marryZhan/p/2213976.html
Copyright © 2020-2023  润新知