fork download
  1. # your code goes here
  2. from tkinter import *
  3. from tkinter import messagebox
  4. from tkinter import ttk
  5.  
  6. root = Tk()
  7. root.title("Калькулятор")
  8. #логика калькулятора
  9. def calc(key):
  10. global memory
  11. if key== "=":
  12. #исключаем написание букв
  13. str1 = "-+0123456789.*/"
  14. if calc_entry.get()[0] not in str1:
  15. calc_entry.insert(END, "Символ не число!")
  16. messagebox.showerror("Ошибка!, Ввели не число!")
  17. #счёт
  18. try:
  19. result = eval(calc_entry.get())
  20. calc_entry.insert(END, "=" + str (result))
  21. except:
  22. calc_entry.insert(END, "Ошибка!")
  23. messagebox.showerror("Перепроверь!")
  24.  
  25. #очистить поле
  26. elif key == "C":
  27. calc_entry.delete(0,END)
  28.  
  29. #смена +/-
  30. elif key == "-\+":
  31. if "=" in calc_entry.get():
  32. calc_entry.delete(0,END)
  33. try:
  34. if calc_entry.get()[0] == "-":
  35. calc_entry.delete(0)
  36. else:
  37. calc_entry.insert(0, "-")
  38. except IndexError:
  39. pass
  40. else:
  41. if "=" in calc_entry.get():
  42. calc_entry.delete(0,END)
  43. calc_entry.insert(END, key)
  44. #кнопки
  45. bttn_list = [
  46. "7", "8", "9", "+", "-",
  47. "4", "5", "6", "*", "/",
  48. "1", "2", "3", "-\+", "=",
  49. "0", ".", "C"
  50. ]
  51. r = 1
  52. c = 0
  53.  
  54. for i in bttn_list:
  55. rel = ""
  56. cmd=lambda x=i: calc(x)
  57. ttk.Button(root, text=i, command=cmd).grid(row=r, column=c)
  58. c += 1
  59. if c>4:
  60. c=0
  61. r += 1
  62.  
  63. calc_entry = Entry(root, width =33)
  64. calc_entry.grid(row=0, column = 0, columnspan=5)
  65.  
  66. root.mainloop()
  67.  
  68.  
Runtime error #stdin #stdout #stderr 0.12s 23544KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Traceback (most recent call last):
  File "./prog.py", line 2, in <module>
ModuleNotFoundError: No module named 'tkinter'