python計算器實現:
創新互聯堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網站設計制作、成都網站制作、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的包頭網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!
wx.TextCtrl(文本輸入控件),這個作為計算器的顯示屏,點擊數字時用AppendText方法將數字添加至文本末尾,要取出數字時用GetValue方法,點擊運算符時要將文本框中的數字清空(先存儲)用Clear方法然后還有將操作符保存,點擊等號后要將第二個操作數存儲,然后用int方法將字符串轉換為數字,計算后用SetValue方法將結果送入文本框,具體代碼如下:
import?wx
#?begin?wxGlade:?extracode
#?end?wxGlade
class?MyFrame(wx.Frame):
def?__init__(self,?*args,?**kwds):
#?begin?wxGlade:?MyFrame.__init__
kwds["style"]?=?wx.DEFAULT_FRAME_STYLE
wx.Frame.__init__(self,?*args,?**kwds)
self.text_ctrl_1?=?wx.TextCtrl(self,?-1,?"",style=wx.TE_READONLY)
self.button_37?=?wx.Button(self,?-1,?"1")
self.button_38?=?wx.Button(self,?-1,?"2")
self.button_39?=?wx.Button(self,?-1,?"3")
self.button_40?=?wx.Button(self,?-1,?"+")
self.button_41?=?wx.Button(self,?-1,?"4")
self.button_42?=?wx.Button(self,?-1,?"5")
self.button_43?=?wx.Button(self,?-1,?"6")
self.button_44?=?wx.Button(self,?-1,?"-")
self.button_46?=?wx.Button(self,?-1,?"7")
self.button_45?=?wx.Button(self,?-1,?"8")
self.button_47?=?wx.Button(self,?-1,?"9")
self.button_48?=?wx.Button(self,?-1,?"x")
self.button_49?=?wx.Button(self,?-1,?"C")
self.button_50?=?wx.Button(self,?-1,?"0")
self.button_51?=?wx.Button(self,?-1,?"=")
self.button_52?=?wx.Button(self,?-1,?"/")
self.__set_properties()
self.__do_layout()
self.Bind(wx.EVT_BUTTON,?self.bu1,?self.button_37)
self.Bind(wx.EVT_BUTTON,?self.bu2,?self.button_38)
self.Bind(wx.EVT_BUTTON,?self.bu3,?self.button_39)
self.Bind(wx.EVT_BUTTON,?self.bu_plus,?self.button_40)
self.Bind(wx.EVT_BUTTON,?self.bu4,?self.button_41)
self.Bind(wx.EVT_BUTTON,?self.bu5,?self.button_42)
self.Bind(wx.EVT_BUTTON,?self.bu6,?self.button_43)
self.Bind(wx.EVT_BUTTON,?self.bu_min,?self.button_44)
self.Bind(wx.EVT_BUTTON,?self.bu7,?self.button_46)
self.Bind(wx.EVT_BUTTON,?self.bu8,?self.button_45)
self.Bind(wx.EVT_BUTTON,?self.bu9,?self.button_47)
self.Bind(wx.EVT_BUTTON,?self.bu_mul,?self.button_48)
self.Bind(wx.EVT_BUTTON,?self.bu_clear,?self.button_49)
self.Bind(wx.EVT_BUTTON,?self.bu0,?self.button_50)
self.Bind(wx.EVT_BUTTON,?self.bu_result,?self.button_51)
self.Bind(wx.EVT_BUTTON,?self.bu_chu,?self.button_52)
#?end?wxGlade
self.Show(True)
def?__set_properties(self):
#?begin?wxGlade:?MyFrame.__set_properties
self.SetTitle("Python?Calculater?by?CYG")
self.text_ctrl_1.SetMinSize((400,?50))
self.button_37.SetMinSize((100,?50))
self.button_38.SetMinSize((100,?50))
self.button_39.SetMinSize((100,?50))
self.button_40.SetMinSize((100,?50))
self.button_41.SetMinSize((100,?50))
self.button_42.SetMinSize((100,?50))
self.button_43.SetMinSize((100,?50))
self.button_44.SetMinSize((100,?50))
self.button_46.SetMinSize((100,?50))
self.button_45.SetMinSize((100,?50))
self.button_47.SetMinSize((100,?50))
self.button_48.SetMinSize((100,?50))
self.button_49.SetMinSize((100,?50))
self.button_50.SetMinSize((100,?50))
self.button_51.SetMinSize((100,?50))
self.button_52.SetMinSize((100,?50))
#?end?wxGlade
def?__do_layout(self):
#?begin?wxGlade:?MyFrame.__do_layout
sizer_2?=?wx.BoxSizer(wx.VERTICAL)
sizer_3?=?wx.BoxSizer(wx.VERTICAL)
grid_sizer_1?=?wx.GridSizer(4,?4,?0,?0)
sizer_3.Add(self.text_ctrl_1,?0,?0,?0)
grid_sizer_1.Add(self.button_37,?0,?0,?0)
grid_sizer_1.Add(self.button_38,?0,?0,?0)
grid_sizer_1.Add(self.button_39,?0,?0,?0)
grid_sizer_1.Add(self.button_40,?0,?0,?0)
grid_sizer_1.Add(self.button_41,?0,?0,?0)
grid_sizer_1.Add(self.button_42,?0,?0,?0)
grid_sizer_1.Add(self.button_43,?0,?0,?0)
grid_sizer_1.Add(self.button_44,?0,?0,?0)
grid_sizer_1.Add(self.button_46,?0,?0,?0)
grid_sizer_1.Add(self.button_45,?0,?0,?0)
grid_sizer_1.Add(self.button_47,?0,?0,?0)
grid_sizer_1.Add(self.button_48,?0,?0,?0)
grid_sizer_1.Add(self.button_49,?0,?0,?0)
grid_sizer_1.Add(self.button_50,?0,?0,?0)
grid_sizer_1.Add(self.button_51,?0,?0,?0)
grid_sizer_1.Add(self.button_52,?0,?0,?0)
sizer_3.Add(grid_sizer_1,?1,?wx.EXPAND,?0)
sizer_2.Add(sizer_3,?1,?wx.EXPAND,?0)
self.SetSizer(sizer_2)
sizer_2.Fit(self)
self.Layout()
#?end?wxGlade
def?bu1(self,?event):??#?wxGlade:?MyFrame.event_handler
self.text_ctrl_1.AppendText("1")
event.Skip()
def?bu2(self,?event):??#?wxGlade:?MyFrame.event_handler
self.text_ctrl_1.AppendText("2")
event.Skip()
def?bu3(self,?event):??#?wxGlade:?MyFrame.event_handler
self.text_ctrl_1.AppendText("3")
event.Skip()
def?bu_plus(self,?event):??#?wxGlade:?MyFrame.event_handler
self.num1=self.text_ctrl_1.GetValue()
self.op="+"
self.text_ctrl_1.Clear()
event.Skip()
def?bu4(self,?event):??#?wxGlade:?MyFrame.event_handler
self.text_ctrl_1.AppendText("4")
event.Skip()
def?bu5(self,?event):??#?wxGlade:?MyFrame.event_handler
self.text_ctrl_1.AppendText("5")
event.Skip()
def?bu6(self,?event):??#?wxGlade:?MyFrame.event_handler
self.text_ctrl_1.AppendText("6")
event.Skip()
def?bu_min(self,?event):??#?wxGlade:?MyFrame.event_handler
self.num1=self.text_ctrl_1.GetValue()
self.op="-"
self.text_ctrl_1.Clear()
event.Skip()
def?bu7(self,?event):??#?wxGlade:?MyFrame.event_handler
self.text_ctrl_1.AppendText("7")
event.Skip()
def?bu8(self,?event):??#?wxGlade:?MyFrame.event_handler
self.text_ctrl_1.AppendText("8")
event.Skip()
def?bu9(self,?event):??#?wxGlade:?MyFrame.event_handler
self.text_ctrl_1.AppendText("9")
event.Skip()
def?bu_mul(self,?event):??#?wxGlade:?MyFrame.event_handler
self.num1=self.text_ctrl_1.GetValue()
self.op="x"
self.text_ctrl_1.Clear()
event.Skip()
def?bu_clear(self,?event):??#?wxGlade:?MyFrame.event_handler
self.text_ctrl_1.Clear()
event.Skip()
def?bu0(self,?event):??#?wxGlade:?MyFrame.event_handler
self.text_ctrl_1.AppendText("0")
event.Skip()
def?bu_chu(self,?event):??#?wxGlade:?MyFrame.event_handler
self.num1=self.text_ctrl_1.GetValue()
self.op="/"
self.text_ctrl_1.Clear()
event.Skip()
def?bu_result(self,?event):??#?wxGlade:?MyFrame.event_handler
self.num2=self.text_ctrl_1.GetValue()
num1=int(self.num1)
num2=int(self.num2)
if?self.op=="+":
self.text_ctrl_1.SetValue(str(num1+num2))
elif?self.op=="-":
self.text_ctrl_1.SetValue(str(num1-num2))
elif?self.op=="x":
self.text_ctrl_1.SetValue(str(num1*num2))
elif?self.op=="/":
self.text_ctrl_1.SetValue(str(num1/num2))
event.Skip()
#?end?of?class?MyFrame
if?__name__?==?"__main__":
app=wx.App(False)
myframe=MyFrame(None)
app.MainLoop()
用exec?函數
小提示:
a?=?3
b?=?4
op?=?'*'?
exec('c?=?%s?%s?%s'%(a,op,b))
print?c
1、打開idle。點擊file,然后點擊new file.這是創建一個新的文件。
新建一個文件之后,我們輸入第一行代碼,使用print函數,在屏幕上打印一句話,其中字符串要使用雙引號,輸入法要使用英文輸入法,如果符號使用中文輸入法輸入,就會出現錯誤。print("我們做一個兩個整數相加的計算題!")
同理,在屏幕上打印第二句話,與用戶交互,提醒用戶輸入第一個數。
第三行調用input函數,將用戶輸入的內容賦值給a,這時候a收到的是字符串信息,所以需要下一步把字符串轉換為整型。這輸入計算機處理數據指令。
然后依照以上的步驟寫第二個加數,和最后輸出的和,注意最后一句打印結果時,引號內部是字符串形式,x+y是數值形式,所以需要在中間加上一個逗號。如果不加逗號就會提示錯誤信息,以上就是所有的程序編寫完成,下一步就開始保存,命名,運行。如圖所示
運行結果如下:
更多Python相關技術文章,請訪問Python教程欄目進行學習!以上就是小編分享的關于如何使用python編程寫一個加法計算器的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!
我想你的需求應該是一個圖形界面的程序,而不是簡單的在命令行上輸入。
那么,要做的第一件事就是選擇一個圖形界面套件。可以使用原生的TK,也可以用跨平臺性能很好的wxPython,或者是整體結構很像MFC的PyWin32。至于pyGTK,pyQT,都是可選的,但是相對來說文檔比較少,學習不便。
選定圖形庫之后,就可以看文檔范例了。計算器總體是比較簡單的。我記得WxPython的demo里直接就有一個簡單計算器,您可以直接取來用。
本文題目:用python計算器函數 用python寫計算器
本文路徑:http://m.newbst.com/article0/doihsio.html
成都網站建設公司_創新互聯,為您提供網站營銷、定制開發、ChatGPT、網站設計、App設計、全網營銷推廣
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯