導航:首頁 > 編程語言 > 用python編寫計算器

用python編寫計算器

發布時間:2024-04-15 12:35:41

1. 如何使用python編程寫一個加法計算器

1、打開idle。點擊file,然後點擊new file.這是創建一個新的文件。
新建一個文件之後,我們輸入第一行代碼,使用print函數,在屏幕上列印一句話,其中字元串要使用雙引號,輸入法要使用英文輸入法,如果符號使用中文輸入法輸入,就會出現錯誤。print("我們做一個兩個整數相加的計算題!")
同理,在屏幕上列印第二句話,與用戶交互,提醒用戶輸入第一個數。
第三行調用input函數,將用戶輸入的內容賦值給a,這時候a收到的是字元串信息,所以需要下一步把字元串轉換為整型。這輸入計算機處理數據指令。
然後依照以上的步驟寫第二個加數,和最後輸出的和,注意最後一句列印結果時,引號內部是字元串形式,x+y是數值形式,所以需要在中間加上一個逗號。如果不加逗號就會提示錯誤信息,以上就是所有的程序編寫完成,下一步就開始保存,命名,運行。如圖所示
運行結果如下:
更多Python相關技術文章,請訪問Python教程欄目進行學習!以上就是小編分享的關於如何使用python編程寫一個加法計算器的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!

2. python鐨凩2璁$畻鍣ㄦ槸浠涔堬紵

榪愯岃繖涓紼嬪簭
import tkinter as tk

class Calculator:
def __init__(self, master):
self.master = master
master.title("Calculator")

# 鍒涘緩鏄劇ず灞
self.display = tk.Entry(master, width=20, font=('Arial', 16))
self.display.grid(row=0, column=0, columnspan=4, padx=5, pady=5)

# 鍒涘緩鏁板瓧鎸夐挳
self.create_button(1, 1, "1")
self.create_button(1, 2, "2")
self.create_button(1, 3, "3")
self.create_button(2, 1, "4")
self.create_button(2, 2, "5")
self.create_button(2, 3, "6")
self.create_button(3, 1, "7")
self.create_button(3, 2, "8")
self.create_button(3, 3, "9")
self.create_button(4, 2, "0")

# 鍒涘緩榪愮畻絎︽寜閽
self.create_button(1, 4, "+")
self.create_button(2, 4, "-")
self.create_button(3, 4, "*")
self.create_button(4, 4, "/")

# 鍒涘緩鍏朵粬鎸夐挳
self.create_button(4, 1, "C")
self.create_button(4, 3, "=")

def create_button(self, row, column, text):
button = tk.Button(self.master, text=text, width=5, height=2, font=('Arial', 16), command=lambda:self.button_click(text))
button.grid(row=row, column=column, padx=5, pady=5)

def button_click(self, text):
if text == "C":
self.display.delete(0, tk.END)
elif text == "=":
try:
result = eval(self.display.get())
self.display.delete(0, tk.END)
self.display.insert(0, result)
except:
self.display.delete(0, tk.END)
self.display.insert(0, "Error")
else:
self.display.insert(tk.END, text)

root = tk.Tk()
calculator = Calculator(root)
root.mainloop()

3. 將 Python 當做計算器使用方法

我們來嘗試一些簡單的 Python 命令。啟動解釋器然後等待主提示符 >>> 出現(不需要很久)。
3.1.1. 數字
解釋器表現得就像一個簡單的計算器:可以向其錄入一些表達式,它會給出返回值。表達式語法很直白:運算符 +,-,* 和 / 與其它語言一樣(例如:Pascal 或 C);括弧 (()) 用於分組。
整數(例如,2, 4, 20 )的類型是 int,帶有小數部分的數字(例如,5.0, 1.6)的類型是 float。在本教程的後面我們會看到更多關於數字類型的內容。
除法(/)永遠返回一個浮點數。如要使用 floor 除法 並且得到整數結果(丟掉任何小數部分),你可以使用 // 運算符;要計算余數你可以使用 %
此變數對於用戶是只讀的。不要嘗試給它賦值 —— 你只會創建一個獨立的同名局部變數,它屏蔽了系統內置變數的魔術效果。
除了 int 和 float,Python 還支持其它數字類型,例如 Decimal 和 Fraction。Python 還內建支持 復數 ,使用後綴 j 或 J 表示虛數部分

4. python計算器

python計算器實現:

wx.TextCtrl(文本輸入控制項),這個作為計算器的顯示屏,點擊數字時用AppendText方法將數字添加至文本末尾,要取出數字時用GetValue方法,點擊運算符時要將文本框中的數字清空(先存儲)用Clear方法然後還有將操作符保存,點擊等號後要將第二個操作數存儲,然後用int方法將字元串轉換為數字,計算後用SetValue方法將結果送入文本框,具體代碼如下:

importwx
#beginwxGlade:extracode
#endwxGlade
classMyFrame(wx.Frame):
def__init__(self,*args,**kwds):
#beginwxGlade: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)
#endwxGlade
self.Show(True)
def__set_properties(self):
#beginwxGlade:MyFrame.__set_properties
self.SetTitle("PythonCalculaterbyCYG")
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))
#endwxGlade
def__do_layout(self):
#beginwxGlade: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()
#endwxGlade
defbu1(self,event):#wxGlade:MyFrame.<event_handler>
self.text_ctrl_1.AppendText("1")
event.Skip()
defbu2(self,event):#wxGlade:MyFrame.<event_handler>
self.text_ctrl_1.AppendText("2")
event.Skip()
defbu3(self,event):#wxGlade:MyFrame.<event_handler>
self.text_ctrl_1.AppendText("3")
event.Skip()
defbu_plus(self,event):#wxGlade:MyFrame.<event_handler>
self.num1=self.text_ctrl_1.GetValue()
self.op="+"
self.text_ctrl_1.Clear()
event.Skip()
defbu4(self,event):#wxGlade:MyFrame.<event_handler>
self.text_ctrl_1.AppendText("4")
event.Skip()
defbu5(self,event):#wxGlade:MyFrame.<event_handler>
self.text_ctrl_1.AppendText("5")
event.Skip()
defbu6(self,event):#wxGlade:MyFrame.<event_handler>
self.text_ctrl_1.AppendText("6")
event.Skip()
defbu_min(self,event):#wxGlade:MyFrame.<event_handler>
self.num1=self.text_ctrl_1.GetValue()
self.op="-"
self.text_ctrl_1.Clear()
event.Skip()
defbu7(self,event):#wxGlade:MyFrame.<event_handler>
self.text_ctrl_1.AppendText("7")
event.Skip()
defbu8(self,event):#wxGlade:MyFrame.<event_handler>
self.text_ctrl_1.AppendText("8")
event.Skip()
defbu9(self,event):#wxGlade:MyFrame.<event_handler>
self.text_ctrl_1.AppendText("9")
event.Skip()
defbu_mul(self,event):#wxGlade:MyFrame.<event_handler>
self.num1=self.text_ctrl_1.GetValue()
self.op="x"
self.text_ctrl_1.Clear()
event.Skip()
defbu_clear(self,event):#wxGlade:MyFrame.<event_handler>
self.text_ctrl_1.Clear()
event.Skip()
defbu0(self,event):#wxGlade:MyFrame.<event_handler>
self.text_ctrl_1.AppendText("0")
event.Skip()
defbu_chu(self,event):#wxGlade:MyFrame.<event_handler>
self.num1=self.text_ctrl_1.GetValue()
self.op="/"
self.text_ctrl_1.Clear()
event.Skip()
defbu_result(self,event):#wxGlade:MyFrame.<event_handler>
self.num2=self.text_ctrl_1.GetValue()
num1=int(self.num1)
num2=int(self.num2)
ifself.op=="+":
self.text_ctrl_1.SetValue(str(num1+num2))
elifself.op=="-":
self.text_ctrl_1.SetValue(str(num1-num2))
elifself.op=="x":
self.text_ctrl_1.SetValue(str(num1*num2))
elifself.op=="/":
self.text_ctrl_1.SetValue(str(num1/num2))
event.Skip()
#endofclassMyFrame
if__name__=="__main__":
app=wx.App(False)
myframe=MyFrame(None)
app.MainLoop()

5. 如何運用Python編寫簡易計算器

import time
print("計算器")
print("+等於加法模式 -等於減法模式 *等於乘法模式 /等於除法模式")
while 2 > 1:
try:
print("請輸入+,-,*或/")
a = input()
if a == "+":
print("請輸入第1個加數")
b = input()
print("請輸入第2個加數")
c = input()
print("計算中")
time.sleep(0.3)
j = float(b) + float(c)
print("等於"+str(j))
elif a == "-":
print("請輸入被減數")
b = input()
print("請輸入減數")
c = input()
print("計算中")
time.sleep(0.3)
j = float(b) - float(c)
print("等於"+str(j))
elif a == "*":
print("請輸入第1個因數")
b = input()
print("請輸入第2個因數")
c = input()
print("計算中")
time.sleep(0.3)
j = float(b) * float(c)
print("等於"+str(j))
elif a == "/":
print("……等於余數模式 .等於小數模式")
print("請輸入……或.")
a = input()
if a == ".":
print("請輸入被除數")
b = input()
print("請輸入除數")
c = input()
print("計算中")
time.sleep(0.3)
j = float(b) / float(c)
print("等於"+str(j))
if c == "0":
print("除數不能為0!")
elif a == "……":
print("請輸入被除數")
b = input()
print("請輸入除數")
c = input()
j = float(b) // float(c)
e = float(b) % float(c)
print("等於"+str(j)+"……"+str(e))
if c == "0":
print("除數不能為0!")
except Exception as e:
print("您輸入的內容有錯誤")

6. Python灝忕櫧涓鏋氾紝鑷宸卞啓鐨凚MI鎸囨暟璁$畻鍣錛屾眰鏁欓珮鎵嬩竴涓嬩唬鐮佸備綍閲嶅嶈緭鍏ヤ互鍙婂備綍緇撴潫寰鐜錛

鎯寵╃▼搴忓驚鐜錛屽湪鏈澶栧眰濂椾竴涓獁hile灝卞彲浠ヤ簡錛屾兂璺沖嚭鐨勬椂鍊欏啓break灝卞彲浠ヤ簡銆

鍦ㄤ綘鐨勪唬鐮佷腑錛寃hile涓嶈ュ楀湪if澶栭潰錛屽叾嬈″儚浣犺繖鏍峰垽鏂鐩存帴鐢╥f錛屽氨鍙浠ヤ簡錛屼笉闇瑕乪lseif錛岀洿鎺if鏁堢巼鏇撮珮銆

鎯寵煩鍑猴紝鍙瑕佸啓鏉′歡鎵ц宐reak灝辮岋紝姣斿備笅闈㈡垜鐨勪唬鐮佷腑錛岃緭鍏N灝辯粨鏉燂紝杈撳叆Y灝辯戶緇銆

while(1):

print('Welcome to use calculator of BMI exponent for human:')

w = float(input('Please enter your weight(kg):'))

h = float(input('Please enter your height(m):'))

BMI = w / (h * h)

if BMI < 18.5: print('you are thin !')

if 18.5 <= BMI <=24.9: print('you are normal !')

if BMI >=25: print('you are little fat !')

if 25.0 < BMI <=29.9: print('you are more little fat !')

if 30.0 <= BMI <= 34.9: print('you are fat !')

if 35.0 <= BMI <=39.9: print('you are serious fat !')

if BMI >=40: print('you are extreme fat !')


print('continue?Y/N')

n=''

while(n!='Y' and n!='N'):

n=input()

if(n=='N'):

break


7. 用python操作Windows的計算器。

pyhook可以抓到鍵。

不過這里只需要消息就可以了,win32api中的windows的message

使用vc中的消息 工具,抓鍵盤消息。然後再把這個消息包裝一下用pywin32中的API發送過去。

我以前用pyhook加pywin32, 控制過一個游戲,做外掛。

也用pywin32的com介面控制過excel

8. 用Python中split函數編寫一個加減乘除計算器,要求只能輸入一行,輸入兩個操作數和一個操作符

題主你好,

寫在前面: 回答共寫了三種寫法,其中a寫法是符合題意的; b,c雖不符合題意但可作為參考,並且b,c代碼是完全一樣的,只不過在輸入的時候b方案使用了空格作為操作數與操作符之間的分隔符,而c方案操作數與操作符之間無分隔符.

a.使用split()函數處理輸入的相關代碼及運行截圖如下:

希望對題主有幫助, 歡迎追問

閱讀全文

與用python編寫計算器相關的資料

熱點內容
法國高分電影有哪些預言者 瀏覽:968
命令怎麼學 瀏覽:818
李采譚的影片 瀏覽:679
吃屎的電影叫什麼頭像惡心 瀏覽:790
《新媽媽的目的》演員表 瀏覽:188
何家駒電影大全 瀏覽:941
雷軍的編程代碼 瀏覽:452
怎麼把wps轉換為pdf格式的文件 瀏覽:55
天津網關伺服器雲空間 瀏覽:689
韓國電影交換的的一天BH的女演員 瀏覽:552
腐劇網耽美電影 瀏覽:910
台灣絕版電影一箭雙雕 瀏覽:883
訓誡文sp管教mf 瀏覽:932
搜索軟體如何加密 瀏覽:905
車載高清視頻下載的網站 瀏覽:656
吃哺乳媽媽奶水小說 瀏覽:960
進棧演算法代碼 瀏覽:786
抗日戰爭電影100部老電影 瀏覽:139
重生為楊過 瀏覽:579
吃甜品點心解壓的聲音 瀏覽:580