Advertisement
funnybunnyofdoom

CarrotCalculator

Nov 24th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.19 KB | None | 0 0
  1. #Author: Anthony Antognazzi
  2. #Date: 11/24/2017
  3. #Version: 1.0.0
  4.  
  5. import tkinter
  6.  
  7. class MyGUI:
  8. def __init__(self):
  9. self.main_window = tkinter.Tk()
  10.  
  11. self.total = 0
  12. self.last = 0
  13. self.press = 0
  14. self.addition = False
  15. self.subtraction = False
  16. self.multiplication = False
  17. self.division = False
  18. self.display = 0
  19.  
  20.  
  21.  
  22. self.top_frame = tkinter.Frame(self.main_window)#Output box
  23. self.row1_frame = tkinter.Frame(self.main_window) #1,2,3,C
  24. self.row2_frame = tkinter.Frame(self.main_window) #4,5,6,/
  25. self.row3_frame = tkinter.Frame(self.main_window) #7,8,9,X
  26. self.row4_frame = tkinter.Frame(self.main_window) #0,+,-,=
  27.  
  28.  
  29. self.value = tkinter.IntVar()
  30. self.output = tkinter.Label(self.top_frame, textvariable=self.value)
  31. self.one =tkinter.Button(self.row1_frame, text='1', command=self.press_one)
  32. self.two =tkinter.Button(self.row1_frame, text='2', command=self.press_two)
  33. self.three =tkinter.Button(self.row1_frame, text='3', command=self.press_three)
  34. self.c = tkinter.Button(self.row1_frame, text='C', command=self.press_c)
  35.  
  36. self.div =tkinter.Button(self.row2_frame, text='/', command=self.press_div)
  37. self.four =tkinter.Button(self.row2_frame, text='4', command=self.press_four)
  38. self.five =tkinter.Button(self.row2_frame, text='5', command=self.press_five)
  39. self.six =tkinter.Button(self.row2_frame, text='6', command=self.press_six)
  40.  
  41. self.mult =tkinter.Button(self.row3_frame, text='X', command=self.press_mult)
  42. self.seven =tkinter.Button(self.row3_frame, text='7', command=self.press_seven)
  43. self.eight =tkinter.Button(self.row3_frame, text='8', command=self.press_eight)
  44. self.nine =tkinter.Button(self.row3_frame, text='9', command=self.press_nine)
  45.  
  46. self.zero =tkinter.Button(self.row4_frame, text='0', command=self.press_zero)
  47. self.plus =tkinter.Button(self.row4_frame, text='+', command=self.press_plus)
  48. self.minus =tkinter.Button(self.row4_frame, text='-', command=self.press_minus)
  49. self.equals =tkinter.Button(self.row4_frame, text='=', command=self.press_equal)
  50.  
  51.  
  52. self.one.place(x = 1000, y = 30)
  53.  
  54.  
  55. self.output.pack(side='top')
  56.  
  57.  
  58.  
  59.  
  60. self.one.pack(side='left')
  61. self.two.pack(side='left')
  62. self.three.pack(side='left')
  63. self.c.pack(side='left')
  64.  
  65. self.four.pack(side='left')
  66. self.five.pack(side='left')
  67. self.six.pack(side='left')
  68. self.div.pack(side='left')
  69.  
  70. self.seven.pack(side='left')
  71. self.eight.pack(side='left')
  72. self.nine.pack(side='left')
  73. self.mult.pack(side='left')
  74.  
  75. self.plus.pack(side='left')
  76. self.minus.pack(side='left')
  77. self.zero.pack(side='left')
  78. self.equals.pack(side='left')
  79.  
  80. self.top_frame.pack()
  81. self.row1_frame.pack()
  82. self.row2_frame.pack()
  83. self.row3_frame.pack()
  84. self.row4_frame.pack()
  85.  
  86. tkinter.mainloop()
  87.  
  88.  
  89. def press_one(self):
  90. self.press = 1
  91. self.display = (self.display*10)+ self.press
  92. self.value.set(self.display)
  93. #self.last = self.display
  94.  
  95.  
  96. def press_two(self):
  97. self.press = 2
  98. self.display = (self.display*10)+ self.press
  99. self.value.set(self.display)
  100.  
  101. def press_three(self):
  102. self.press = 3
  103. self.display = (self.display*10)+ self.press
  104. self.value.set(self.display)
  105.  
  106. def press_four(self):
  107. self.press = 4
  108. self.display = (self.display*10)+ self.press
  109. self.value.set(self.display)
  110.  
  111. def press_five(self):
  112. self.press = 5
  113. self.display = (self.display*10)+ self.press
  114. self.value.set(self.display)
  115.  
  116. def press_six(self):
  117. self.press = 6
  118. self.display = (self.display*10)+ self.press
  119. self.value.set(self.display)
  120.  
  121. def press_seven(self):
  122. self.press = 7
  123. self.display = (self.display*10)+ self.press
  124. self.value.set(self.display)
  125.  
  126. def press_eight(self):
  127. self.press = 8
  128. self.display = (self.display*10)+ self.press
  129. self.value.set(self.display)
  130.  
  131. def press_nine(self):
  132. self.press = 9
  133. self.display = (self.display*10)+ self.press
  134. self.value.set(self.display)
  135.  
  136. def press_zero(self):
  137. self.press = 0
  138. self.display = self.display*10
  139. self.value.set(self.display)
  140.  
  141.  
  142.  
  143.  
  144.  
  145. def press_plus(self):
  146. self.addition = True
  147.  
  148. self.last = self.display+self.last
  149. self.display = 0
  150. self.value.set(self.last)
  151. def press_minus(self):
  152. self.subtraction = True
  153.  
  154.  
  155. if self.last == 0:
  156. self.last = self.display
  157. else:
  158. self.last = self.last-self.display
  159. self.display = 0
  160. self.value.set(self.last)
  161.  
  162. def press_div(self):
  163. print("Placeholder DIV")
  164. self.division = True
  165. self.last = self.display
  166. #if self.display == 0:
  167. #self.last = 0
  168. #else:
  169. #self.last = self.last/self.display
  170. self.display = 0
  171. self.value.set(self.display)
  172.  
  173. def press_mult(self):
  174. self.multiplication = True
  175. if self.last == 0:
  176. self.last = self.last+self.display
  177. else:
  178. self.last = self.last*self.display
  179. self.display = 0
  180. self.value.set(self.last)
  181.  
  182. def press_equal(self):
  183. if self.addition == True:
  184. self.total = self.total+self.display+self.last
  185. self.value.set(self.total)
  186. self.last = 0
  187. self.display = 0
  188. self.addition = False
  189. if self.subtraction == True:
  190. self.total = self.total+self.last-self.display
  191. self.value.set(self.total)
  192. self.last = 0
  193. self.display = 0
  194. self.subtraction = False
  195. if self.multiplication == True:
  196. if self.total == 0:
  197. self.total = self.last*self.display
  198. else:
  199. self.total = self.total*self.display
  200. self.value.set(self.total)
  201. self.last = 0
  202. self.display = 0
  203. self.multiplication = False
  204. if self.division == True:
  205. if self.total == 0:
  206. if self.display != 0:
  207. self.total = self.last/self.display
  208. else:
  209. print("Null")
  210. self.press_c()
  211.  
  212. else:
  213. if self.display != 0:
  214. self.total = self.total/self.display
  215. else:
  216. print("Null")
  217. self.press_c()
  218. self.value.set(self.total)
  219. self.display = 0
  220. self.last = 0
  221. self.division = False
  222.  
  223. def press_c(self):
  224. self.total = 0
  225. self.last = 0
  226. self.display = 0
  227. self.value.set(0)
  228.  
  229.  
  230. my_gui = MyGUI()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement