Advertisement
Guest User

Untitled

a guest
Dec 29th, 2017
533
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.23 KB | None | 0 0
  1. from tkinter import *
  2. from tkinter import messagebox
  3. from tkinter import ttk
  4. import math
  5. import sys
  6. #y=math.pow(x,2)
  7. #y=x*x
  8. #y=x^2
  9. version = 0.1
  10.  
  11. root = Tk()
  12. root.title("Calculator")
  13.  
  14. #calculator logic
  15. def calc(key):
  16.     global memory
  17.     if key == "=":
  18. #exclude writing letters
  19.         str1 = "-+0123456789.*/"
  20.         if calc_entry.get()[0] not in str1:
  21.             calc_entry.insert(END, "First symbol is not number!")
  22.             messagebox.showerror("Error!", "You did not enter the number!")
  23. #score
  24.         try:
  25.             result = eval(calc_entry.get())
  26.             calc_entry.insert(END, "=" + str(result))
  27.         except:
  28.             calc_entry.insert(END, "Error!")
  29.             messagebox.showerror("Error!", "Check the correctness of data")
  30.        
  31. #clear field
  32.     elif key == "C":
  33.         calc_entry.delete(0, END)
  34. #change -+
  35.     elif key == "±":
  36.         if "=" in calc_entry.get():
  37.             calc_entry.delete(0, END)
  38.         try:
  39.             if calc_entry.get()[0] == "-":
  40.                 calc_entry.delete(0)
  41.             else:
  42.                 calc_entry.insert(0, "-")
  43.         except IndexError:
  44.             pass
  45.     elif key == "ПЂ":
  46.         calc_entry.insert(END, math.pi)
  47.     elif key == "Exit":
  48.         root.after(1,root.destroy)
  49.         sys.exit
  50.     elif key == "xвЃї":
  51.         calc_entry.insert(END, "**")
  52.     elif key == "sin":
  53.         calc_entry.insert(END, math.sin(#к какой переменной обратится?))
  54.     elif key == "cos":
  55.         calc_entry.insert(END, math.cos(#к какой переменной обратится?))
  56.     else:
  57.         if "=" in calc_entry.get():
  58.             calc_entry.delete(0, END)
  59.         calc_entry.insert(END, key)
  60.  
  61.            
  62. #buttons
  63. bttn_list = [
  64. "7", "8", "9", "+", "*",
  65. "4", "5", "6", "-", "/",
  66. "1", "2", "3",  "=", "xвЃї",
  67. "0", ".", "±",  "C",
  68. "Exit", "ПЂ", "sin", "cos"
  69.  
  70.  
  71. ]
  72. r = 1
  73. c = 0
  74. for i in bttn_list:
  75.     rel = ""
  76.     cmd=lambda x=i: calc(x)
  77.     ttk.Button(root, text=i, command = cmd, width = 10).grid(row=r, column = c)
  78.     c += 1
  79.     if c > 4:
  80.         c = 0
  81.         r += 1
  82. calc_entry = Entry(root, width = 33)
  83. calc_entry.grid(row=0, column=0, columnspan=5)
  84.        
  85. root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement