Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from tkinter import *
- from tkinter import messagebox
- from tkinter import ttk
- import math
- import sys
- #y=math.pow(x,2)
- #y=x*x
- #y=x^2
- version = 0.1
- root = Tk()
- root.title("Calculator")
- #calculator logic
- def calc(key):
- global memory
- if key == "=":
- #exclude writing letters
- str1 = "-+0123456789.*/"
- if calc_entry.get()[0] not in str1:
- calc_entry.insert(END, "First symbol is not number!")
- messagebox.showerror("Error!", "You did not enter the number!")
- #score
- try:
- result = eval(calc_entry.get())
- calc_entry.insert(END, "=" + str(result))
- except:
- calc_entry.insert(END, "Error!")
- messagebox.showerror("Error!", "Check the correctness of data")
- #clear field
- elif key == "C":
- calc_entry.delete(0, END)
- #change -+
- elif key == "±":
- if "=" in calc_entry.get():
- calc_entry.delete(0, END)
- try:
- if calc_entry.get()[0] == "-":
- calc_entry.delete(0)
- else:
- calc_entry.insert(0, "-")
- except IndexError:
- pass
- elif key == "ПЂ":
- calc_entry.insert(END, math.pi)
- elif key == "Exit":
- root.after(1,root.destroy)
- sys.exit
- elif key == "xвЃї":
- calc_entry.insert(END, "**")
- elif key == "sin":
- calc_entry.insert(END, math.sin(#к какой переменной обратится?))
- elif key == "cos":
- calc_entry.insert(END, math.cos(#к какой переменной обратится?))
- else:
- if "=" in calc_entry.get():
- calc_entry.delete(0, END)
- calc_entry.insert(END, key)
- #buttons
- bttn_list = [
- "7", "8", "9", "+", "*",
- "4", "5", "6", "-", "/",
- "1", "2", "3", "=", "xвЃї",
- "0", ".", "±", "C",
- "Exit", "ПЂ", "sin", "cos"
- ]
- r = 1
- c = 0
- for i in bttn_list:
- rel = ""
- cmd=lambda x=i: calc(x)
- ttk.Button(root, text=i, command = cmd, width = 10).grid(row=r, column = c)
- c += 1
- if c > 4:
- c = 0
- r += 1
- calc_entry = Entry(root, width = 33)
- calc_entry.grid(row=0, column=0, columnspan=5)
- root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement