日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

python的tkinter编写计算器_tkinter写的计算器

發(fā)布時(shí)間:2023/12/15 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python的tkinter编写计算器_tkinter写的计算器 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

該樓層疑似違規(guī)已被系統(tǒng)折疊 隱藏此樓查看此樓

# -*- coding: cp936 -*-

try:

from tkinter import *

import math, datetime

from tkinter import ttk

root = Tk()

display = StringVar()

lbl = Label(root, relief="sunken", borderwidth=3, anchor=SE)

lbl['textvariable'] = display

lbl.configure(background="white",height=2, width=25)

lbl.grid(row=0, column=0, columnspan=4, sticky=SE)

lbl.bind('', display.set(''))

def callback(num):

furm = display.get() + num

display.set(furm)

def calculate():

furm = display.get()

l = list(furm)

if 'm' in l and u'√' not in l:

lis = list(furm)

while 1:

try:

index = lis.index('m')

lis.insert(index, '%')

lis.remove('m')

lis.remove('o')

lis.remove('d')

except:

break

ind = 0

st = ''

while 1:

try:

st += lis[ind]

ind += 1

except:

break

try:

display.set(eval(st))

except:

display.set(u'無(wú)法計(jì)算此算式')

if u'√' in l and 'm' not in l:

done = False

jeizhi_gen_houjiwei = 0

intlistfurm1 = list(furm)

intlistfurm1.remove(u'√')

yn_int_ceshi = 0

while not(done):

try:

shiyan = float(intlistfurm1[yn_int_ceshi])

jeizhi_gen_houjiwei += 1

yn_int_ceshi += 1

except:

done = True

a = list(furm)

while 1:

try:

index = a.index(u'√')

a.insert(index, 'math.sqrt(')

a.insert(index + jeizhi_gen_houjiwei + 2, ')')

a.remove(u'√')

except:

break

string = ''

ind = 0

while ind < len(a):

string += a[ind]

ind += 1

try:

display.set(eval(string))

except:

display.set(u'無(wú)法計(jì)算此算式')

if 'm' not in l and u'√' not in l:

try:

res = eval(furm)

display.set(str(res))

except:

display.set(u'無(wú)法計(jì)算此算式')

def ac():

display.set("")

def mjia():

nu = display.get()

display.set(nu)

global nu

def mr():

try:

display.set(display.get() + nu)

except:

display.set("你還沒(méi)有進(jìn)行M+操作。")

def c():

nu = display.get()

lis = list(nu)

del lis[len(lis) - 1]

string = ''

index = 0

while 1:

try:

string += lis[index]

index += 1

except:

break

display.set(string)

def jiajian():

a = display.get()

try:

if float(display.get()) > 0:

display.set('-' + display.get())

else:

if int(abs(float(a))) != abs(float(a)):

display.set(abs(float(a)))

else:

display.set(int(abs(float(a))))

except:

display.set(u'無(wú)法進(jìn)行該操作')

frame = Frame(root)

root.title(u"計(jì)算器")

ttk.Button(root, text="7", width=5, command=lambda: callback("7")).grid(row=3, column=0)

ttk.Button(root, text="8", width=5, command=lambda: callback("8")).grid(row=3, column=1)

ttk.Button(root, text="9", width=5, command=lambda: callback("9")).grid(row=3, column=2)

ttk.Button(root, text="+", width=5, command=lambda: callback("+")).grid(row=3, column=3)

ttk.Button(root, text="4", width=5, command=lambda: callback("4")).grid(row=4, column=0)

ttk.Button(root, text="5", width=5, command=lambda: callback("5")).grid(row=4, column=1)

ttk.Button(root, text="6", width=5, command=lambda: callback("6")).grid(row=4, column=2)

ttk.Button(root, text="-", width=5, command=lambda: callback("-")).grid(row=4, column=3)

ttk.Button(root, text="1", width=5, command=lambda: callback("1")).grid(row=5, column=0)

ttk.Button(root, text="2", width=5, command=lambda: callback("2")).grid(row=5, column=1)

ttk.Button(root, text="3", width=5, command=lambda: callback("3")).grid(row=5, column=2)

ttk.Button(root, text="*", width=5, command=lambda: callback("*")).grid(row=5, column=3)

ttk.Button(root, text="0", width=5, command=lambda: callback("0")).grid(row=6, column=0)

ttk.Button(root, text=".", width=5, command=lambda: callback(".")).grid(row=6, column=1)

ttk.Button(root, text="mod", width=5, command=lambda: callback("mod")).grid(row=6, column=2)

ttk.Button(root, text="/", width=5, command=lambda: callback("/")).grid(row=6, column=3)

ttk.Button(root, text="AC",width = 5, command=lambda:ac()).grid(row=7, column=0)

ttk.Button(root, text="=", width = 5, command=lambda: calculate()).grid(row=7, column=1)

ttk.Button(root, text="M+", width = 5, command=lambda: mjia()).grid(row = 6, column = 4)

ttk.Button(root, text="MR", width = 5, command=lambda: mr()).grid(row = 5, column = 4)

ttk.Button(root, text='→', width = 5, command=lambda: c()).grid(row = 4, column = 4)

ttk.Button(root, text='.', width = 5, command=lambda: callback('.')).grid(row = 3, column = 4)

ttk.Button(root, text='√', width = 5, command=lambda: callback('√')).grid(row = 3, column = 5)

ttk.Button(root, text='(', width = 5, command=lambda: callback('(')).grid(row = 4, column = 5)

ttk.Button(root, text=')', width = 5, command=lambda: callback(')')).grid(row = 5, column = 5)

ttk.Button(root, text='±', width = 5, command=lambda: jiajian()).grid(row = 6, column = 5)

root.resizable(0, 0)

root.mainloop()

except KeyboardInterrupt:

pass

總結(jié)

以上是生活随笔為你收集整理的python的tkinter编写计算器_tkinter写的计算器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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