怎樣使用python來編乙個帶彈框的計算器?

2021-09-24 03:59:40 字數 4157 閱讀 5898

@小飛象的部落格

程式目標:我們要使這個計算器能計算能計算基本的加減乘除,能自動排除有兩個小數點的錯誤。

import tkinter#匯入

from tkinter import*

root=tkinter.tk()#新建窗體

root.title(『計算器』)#彈窗標題

global number#初始化數字

number=0

def num1():#數字1

label[『text』]=label[『text』]+str(number10+1)#游標移動

def num2():

label[『text』]=label[『text』]+str(number10+2)

def num3():

label[『text』]=label[『text』]+str(number10+3)

def num4():

label[『text』]=label[『text』]+str(number10+4)

def num5():

label[『text』]=label[『text』]+str(number10+5)

def num6():

label[『text』]=label[『text』]+str(number10+6)

def num7():

label[『text』]=label[『text』]+str(number10+7)

def num8():

label[『text』]=label[『text』]+str(number10+8)

def num9():

label[『text』]=label[『text』]+str(number10+9)

def num0():

label[『text』]=label[『text』]+str(number10+0)

def cc():

label[『text』]=""#清楚所有數字

def jia():#加法

global sign#儲存(到最後統一處理)

sign=1#儲存為1

global aa

aa=float(label[「text」])

label[「text」]=""#點完加法就清除所有數字

#sign this one

pass#跳過

def jian():

global sign#這些都是和加法一樣的思路

sign=2

global ab

ab=float(label[『text』])

label[『text』]=""

#sign this one

pass

def cheng():

global sign

sign=3

global ac

ac=float(label[『text』])

label[『text』]=""

#sign this one

pass

def chu():

global sign

sign=4

global ad

ad=float(label[「text」])

label[「text」]=""

#sign this one

pass

def dengyu():

if sign1:

label[「text」]=str(aa+float(label[「text」]))#如果儲存的是1就做加法,下面的思路一樣

elif sign2:

label[「text」]=str(aa-float(label[「text」]))

elif sign3:

label[「text」]=str(aa*float(label[「text」]))

elif sign4:

label[「text」]=str(aa/float(label[「text」]))

pass

def xiaoshudian():

global ae

ae=label[「text」]

ae.find(".")

if ae.count(".")==0:

label[「text」]=label[「text」]+"."

b1=tkinter.button(root,text=「1」,font=(『黑體』,18),command=num1)

b2=tkinter.button(root,text=「2」,font=(『黑體』,18),command=num2)

b3=tkinter.button(root,text=「3」,font=(『黑體』,18),command=num3)

b4=tkinter.button(root,text=「4」,font=(『黑體』,18),command=num4)

b5=tkinter.button(root,text=「5」,font=(『黑體』,18),command=num5)

b6=tkinter.button(root,text=「6」,font=(『黑體』,18),command=num6)

b7=tkinter.button(root,text=「7」,font=(『黑體』,18),command=num7)

b8=tkinter.button(root,text=「8」,font=(『黑體』,18),command=num8)

b9=tkinter.button(root,text=「9」,font=(『黑體』,18),command=num9)

b0=tkinter.button(root,text=「0」,font=(『黑體』,18),command=num0)

c1=tkinter.button(root,text=「c」,font=(『黑體』,18),command=cc)

label=tkinter.label(root,text="",font=(『黑體』,18))

bjia=tkinter.button(root,text="+",font=(『黑體』,18),command=jia)

bjian=tkinter.button(root,text="-",font=(『黑體』,18),command=jian)

bcheng=tkinter.button(root,text="*",font=(『黑體』,18),command=cheng)

bchu=tkinter.button(root,text="/",font=(『黑體』,18),command=chu)

bdengyu=tkinter.button(root,text="=",font=(『黑體』,18),command=dengyu)

bxiaoshudian=tkinter.button(root,text=".",font=(『黑體』,18),command=xiaoshudian)

label.grid(row=0,column=0)

b1.grid(row=1,column=0)

b2.grid(row=1,column=1)

b3.grid(row=1,column=2)

b4.grid(row=2,column=0)

b5.grid(row=2,column=1)

b6.grid(row=2,column=2)

b7.grid(row=3,column=0)

b8.grid(row=3,column=1)

b9.grid(row=3,column=2)

b0.grid(row=4,column=0)

c1.grid(row=4,column=2)

bjia.grid(row=1,column=3)

bjian.grid(row=2,column=3)

bcheng.grid(row=3,column=3)

bchu.grid(row=4,column=3)

bxiaoshudian.grid(row=4,column=1)

bdengyu.grid(row=1,column=4,rowspan=4,sticky=n+s)

root.mainloop()

如何使用Python來打造乙個Web服務

你知道網際網路是乙個非常高效的工具嗎?你想知道如何使用python編寫乙個web服務,並在一天之內把它接入網際網路嗎?你想知道如何通過網際網路來放大這個web服務的效能,並服務成千上百萬的網際網路公民嗎?如果你已經學習了python基礎篇,並且想知道如何解決前面提到的問題,從而進一步玩轉python...

用Python編乙個打小怪獸遊戲

用python編乙個打小怪獸遊戲import random import time while true input 請按回車鍵開始遊戲 print 遇到乙隻小怪獸 print 選擇是否打小怪獸?w input a 打小怪獸 b 不打小怪獸 n print 你的選擇是 w if w a p b ra...

使用Python來編寫乙個簡單的感知機

眼下,我在hsr上參加了乙個神經網路和機器學習的課程,當中學習到乙個最簡單的神經網路模型。就是感知機 perceptron 背景資料 最簡單的神經網路的模型就是感知機分類器,它有不同的輸入 x1,x2,xn 然後有不同的權重值 w1,w2,wn 例如以下式計算 每乙個相應的權重值與輸入值進行相乘,再...