# -*- coding:utf-8 -*-from tkinter import *
def calculate():
result = eval (equ.get())
equ.set(equ.get()+"=\n"+str(result))
def show(buttonstring):
content = equ.get()
if content =="0":
content = ""
equ.set(content + buttonstring)
def backspace():
equ.set(str(equ.get()[:-1]))
def clear():
equ.set("0")
root = tk()
root.title("計算器")
equ = strin**ar()
equ.set("0")
#設計顯示區
label = label(root,width=25,height=2,relief="raised",anchor=se,textvariable=equ)
label.grid(row=0,column=0,columnspan=4,padx=5,pady=5)
#清除顯示區按鈕
clearbutton = button (root, text="c",fg="blue",width=5,command=clear)
clearbutton.grid(row=1,column=0)
#以下是row1的其他按鈕
button(root,text="del",width=5,command=backspace).grid(row=1,column=1)
button(root,text="%",width=5,command=lambda:show("%")).grid(row=1,column=2)
button(root,text="/",width=5,command=lambda:show("/")).grid(row=1,column=3)
#以下是row2的其他按鈕
button(root,text="7",width=5,command=lambda:show("7")).grid(row=2,column=0)
button(root,text="8",width=5,command=lambda:show("8")).grid(row=2,column=1)
button(root,text="9",width=5,command=lambda:show("9")).grid(row=2,column=2)
button(root,text="*",width=5,command=lambda:show("*")).grid(row=2,column=3)
#以下是row3的其他按鈕
button(root,text="4",width=5,command=lambda:show("4")).grid(row=3,column=0)
button(root,text="5",width=5,command=lambda:show("5")).grid(row=3,column=1)
button(root,text="6",width=5,command=lambda:show("6")).grid(row=3,column=2)
button(root,text="-",width=5,command=lambda:show("-")).grid(row=3,column=3)
#以下是row4的其他按鈕
button(root,text="1",width=5,command=lambda:show("1")).grid(row=4,column=0)
button(root,text="2",width=5,command=lambda:show("2")).grid(row=4,column=1)
button(root,text="3",width=5,command=lambda:show("3")).grid(row=4,column=2)
button(root,text="+",width=5,command=lambda:show("+")).grid(row=4,column=3)
#以下是row5的其他按鈕
button(root,text="0",width=12,command=lambda:show("0")).grid(row=5,column=0,columnspan=2)
button(root,text=".",width=5,command=lambda:show(".")).grid(row=5,column=2)
button(root,text="=",width=5,bg="yellow",command=lambda:calculate()).grid(row=5,column=3)
root.mainloop()
實現乙個計算器
一直以來,我都想寫一門語言,但無從下手。我找到了很多編譯原理的教程,但始終覺得內容晦澀,理解不了,所以先嘗試寫乙個簡單的,比如 計算器。網上有很多關於計算器的實現,但大多需要有編譯原理的基礎,對於我這種小白實在難以理解。我決定採用暴力模擬的方式,需要用正規表示式,但我不想自己實現,所以用js。計算器...
實現乙個計算器
一直以來,我都想寫一門語言,但無從下手。我找到了很多編譯原理的教程,但始終覺得內容晦澀,理解不了,所以先嘗試寫乙個簡單的,比如 計算器。網上有很多關於計算器的實現,但大多需要有編譯原理的基礎,對於我這種小白實在難以理解。我決定採用暴力模擬的方式,需要用正規表示式,但我不想自己實現,所以用js。計算器...
堆疊實現乙個整型計算器
計算器特性 支援整型運算 能夠處理運算子和運算元間的空格,支援括號 實現思路 利用乙個運算元堆疊dgt和乙個運算子堆疊ops實現 1 從左至右掃瞄運算表示式輸入,若為運算元則直接壓入dgt堆疊 2 若為運算子則判斷ops中是否已經存在運算子,不存在則直接壓入,存在則與棧頂運算子比較優先順序,優先順序...