日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python的tkinter编写计算器_Python+Tkinter 实现计算器功能

發(fā)布時(shí)間:2025/3/20 python 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python的tkinter编写计算器_Python+Tkinter 实现计算器功能 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1 #===================================================================================

2 importtkinter3 importmath4 #===================================================================================

5 root = tkinter.Tk() #創(chuàng)建一個(gè)窗體

6 root.minsize(320,440) #大小尺寸

7 root.title('NEO-Karl的計(jì)算器')8 shownum =tkinter.StringVar()9 shownum.set(0)10 #===================================================================================

11 numstrlist=[]#存儲數(shù)字 符號

12 isjisuan=False#運(yùn)算標(biāo)志

13 #==================================================================

14 #數(shù)據(jù)觸發(fā)事件

15 #==================================================================

16 def pressnum(num):#按下數(shù)字

17 globalisjisuan18 if isjisuan==True:19 shownum.set('0')20 isjisuan=False21 oldnum=shownum.get()22 if oldnum=='0':#舊數(shù)字是否為0

23 shownum.set(num)24 else:25 if num =='+/-':26 if oldnum.startswith('-'):27 shownum.set(oldnum[1:])28 else:29 shownum.set('-'+oldnum)30 else:31 shownum.set(oldnum+num)32 #==================================================================

33 #該函數(shù)主要實(shí)現(xiàn)數(shù)據(jù)加減符號的操作

34 #==================================================================

35 def presssign(sign):#按下加減符號

36 globalnumsrtlist37 globalisjisuan38 oldnum=shownum.get()39 numstrlist.append(oldnum)40 numstrlist.append(sign)41 isjisuan=True42 print(numstrlist)43 #==================================================================

44 #該函數(shù)主要實(shí)現(xiàn)計(jì)算器的等的操作符

45 #==================================================================

46 defequal(sign):47 globalnumstrlist48 if sign=='=':49 oldnum =shownum.get()50 numstrlist.append(oldnum)51 print(numstrlist)52 resu1 =''.join(numstrlist)53 result =eval(resu1)54 print(result)55 shownum.set(result)56 numstrlist.clear()57 if sign =='1/x':58 oldnum =shownum.get()59 result =1/float(oldnum)60 print(result)61 shownum.set(result)62 if sign =='√':63 oldnum =shownum.get()64 result =math.sqrt(float(oldnum))65 print(result)66 shownum.set(result)67 #==================================================================

68 #該函數(shù)主要實(shí)現(xiàn)的是數(shù)據(jù)的清空操作

69 #==================================================================

70 def gui0(): #清空數(shù)據(jù)

71 globalnumstrlist72 globalisjisuan73 numstrlist.clear()74 isjisuan=False75 shownum.set(0)76 #===================================================================================

77 #文本框輸入

78 #===================================================================================

79 label=tkinter.Label(root,textvariable=shownum,bg='gray',font=('宋體',20),anchor='e',bd=5,fg='gold')80 label.place(x=20,y=10,width=280,height=50)81 #===================================================================================

82 #第一行

83 #===================================================================================

84 btn1 =tkinter.Button(text ='MC',bg='#988',bd=2)#Memory Clear 清除存儲器中的數(shù)值

85 btn1.place(x=10,y =70,width =50,height=50)86 btn2 =tkinter.Button(text ='MR',bg='#988',bd=2)#Memory Read 存儲器讀出

87 btn2.place(x=70,y =70,width =50,height=50)88 btn3 =tkinter.Button(text ='MS',bg='#988',bd=2)#Memory Save 存入存儲器

89 btn3.place(x=130,y =70,width =50,height=50)90 btn4 =tkinter.Button(text ='M+',bg='#988',bd=2)#Memory Plus 將數(shù)值與存儲器中的數(shù)值相加

91 btn4.place(x=190,y =70,width =50,height=50)92 btn5 =tkinter.Button(text ='M-',bg='#988',bd=2)93 btn5.place(x=250,y =70,width =50,height=50)94 #===================================================================================

95 #第二行

96 #===================================================================================

97 btn2_1 =tkinter.Button(text ='del',bg='#988',bd=3)98 btn2_1.place(x=10,y =130,width =50,height=50)99 btn2_2 =tkinter.Button(text ='CE',bg='#988',bd=3,command=lambda:gui0())#CE是清除全部數(shù)字,但不影響以前的計(jì)算

100 btn2_2.place(x=70,y =130,width =50,height=50)101 btn2_3 =tkinter.Button(text ='C',bg='#988',bd=3,command=lambda:gui0())#C健是重新開始計(jì)算,和ESC鍵是一樣的功能

102 btn2_3.place(x=130,y =130,width =50,height=50)103 btn2_4 =tkinter.Button(text ='+/-',bg='#988',bd=3,command=lambda:pressnum('+/-'))104 btn2_4.place(x=190,y =130,width =50,height=50)105 btn2_5 =tkinter.Button(text ='√',bg='#988',bd=3,command=lambda:equal('√'))#--------√開平方

106 btn2_5.place(x=250,y =130,width =50,height=50)107 #===================================================================================

108 #第三行

109 #===================================================================================

110 btn3_1 =tkinter.Button(text ='7',bg='#aaaaaa',bd=3,command=lambda:pressnum('7'))111 btn3_1.place(x=10,y =190,width =50,height=50,)112 btn3_2 =tkinter.Button(text ='8',bg='#aaaaaa',bd=3,command=lambda:pressnum('8'))113 btn3_2.place(x=70,y =190,width =50,height=50)114 btn3_3 =tkinter.Button(text ='9',bg='#aaaaaa',bd=3,command=lambda:pressnum('9'))115 btn3_3.place(x=130,y =190,width =50,height=50)116 btn3_4 =tkinter.Button(text ='/',bg='#708069',command=lambda:presssign('/'))117 btn3_4.place(x=190,y =190,width =50,height=50)118 btn3_5 =tkinter.Button(text ='%',bg='#708069',command=lambda:presssign('%'))119 btn3_5.place(x=250,y =190,width =50,height=50)120 #===================================================================================

121 #第四行

122 #===================================================================================

123 btn4_1 =tkinter.Button(text ='4',bg='#aaaaaa',bd=3,command=lambda:pressnum('4'))124 btn4_1.place(x=10,y =250,width =50,height=50)125 btn4_2 =tkinter.Button(text ='5',bg='#aaaaaa',bd=3,command=lambda:pressnum('5'))126 btn4_2.place(x=70,y =250,width =50,height=50)127 btn4_3 =tkinter.Button(text ='6',bg='#aaaaaa',bd=3,command=lambda:pressnum('6'))128 btn4_3.place(x=130,y =250,width =50,height=50)129 btn4_4 =tkinter.Button(text ='*',bg='#708069',command=lambda:presssign('*'))130 btn4_4.place(x=190,y =250,width =50,height=50)131 btn4_5 =tkinter.Button(text ='1/x',bg='#708069',command=lambda:equal('1/x'))#倒數(shù)

132 btn4_5.place(x=250,y =250,width =50,height=50)133 #===================================================================================

134 #第五行

135 #===================================================================================

136 btn5_1 =tkinter.Button(text ='1',bg='#aaaaaa',bd=3,command=lambda:pressnum('1'))137 btn5_1.place(x=10,y =310,width =50,height=50)138 btn5_2 =tkinter.Button(text ='2',bg='#aaaaaa',bd=3,command=lambda:pressnum('2'))139 btn5_2.place(x=70,y =310,width =50,height=50)140 btn5_3 =tkinter.Button(text ='3',bg='#aaaaaa',bd=3,command=lambda:pressnum('3'))141 btn5_3.place(x=130,y =310,width =50,height=50)142 btn5_4 =tkinter.Button(text ='-',bg='#708069',command=lambda:presssign('-'))143 btn5_4.place(x=190,y =310,width =50,height=50)144 btn5_5 =tkinter.Button(text ='=',bg='#708069',command=lambda:equal('='))145 btn5_5.place(x=250,y =310,width =50,height=110)146 #===================================================================================

147 #第六行

148 #===================================================================================

149 btn6_1 =tkinter.Button(text ='0',bg='#aaaaaa',bd=3,command=lambda:pressnum('0'))150 btn6_1.place(x=10,y =370,width =110,height=50)151 btn6_3 =tkinter.Button(text ='.',bg='#708069',command=lambda:pressnum('.'))152 btn6_3.place(x=130,y =370,width =50,height=50)153 btn6_4 =tkinter.Button(text ='+',bg='#708069',command=lambda:presssign('+'))154 btn6_4.place(x=190,y =370,width =50,height=50)155 #===================================================================================

156 root.mainloop()157 #===================================================================================

總結(jié)

以上是生活随笔為你收集整理的python的tkinter编写计算器_Python+Tkinter 实现计算器功能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。