Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from tkinter import *
- def click(key):
- if key == "=":
- try:
- result = str(eval(display.get()))[0:10]
- display.insert(END, " = " + result)
- except:
- display.insert(END, " --> error")
- elif key == "C":
- display.delete(0, END)
- else:
- display.insert(END, key)
- window = Tk()
- window.title("calculator")
- # top_row frame
- top_row = Frame(window)
- top_row.grid(row=0, column=0, columnspan=2, sticky=N)
- # editable display
- display = Entry(top_row, width=45, bg="cyan")
- display.grid()
- # num_pad frame
- num_pad = Frame(window)
- num_pad.grid(row=1, column=0, sticky=W)
- num_pad_list = [
- '7', '8', '9',
- '4', '5', '6',
- '1', '2', '3',
- '0', '.', '=' ]
- # num_pad buttons
- r = 1
- c = 0
- for btn_text in num_pad_list:
- def cmd(x=btn_text):
- click(x)
- Button(num_pad, text=btn_text, width=5, command=cmd).grid(row=r,column=c)
- c = c+1
- if c > 2:
- c = 0
- r = r+1
- # operator_frame
- operator = Frame(window)
- operator.grid(row=1, column=1, sticky=E)
- operator_list = [
- '*', '/',
- '+', '-',
- '(', ')',
- 'C' ]
- # operator buttons
- r = 2
- c = 0
- for btn_text in operator_list:
- def cmd(x=btn_text):
- click(x)
- Button(operator, text=btn_text, width=5, command=cmd).grid(row=r,column=c)
- c = c+1
- if c > 1:
- c = 0
- r = r+1
- ## Run
- window.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment