Guest User

Untitled

a guest
Oct 22nd, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.18 KB | None | 0 0
  1. from tkinter import *
  2. from math import sqrt, sin, cos, tan
  3.  
  4.  
  5.  
  6. class Calculadora:
  7.  
  8. def __init__(self, master=None):
  9. self.primeiroContainer = Frame(master)
  10. self.primeiroContainer.pack()
  11. self.conta = Label(self.primeiroContainer, text='')
  12. self.conta.pack()
  13.  
  14. self.segundoContainer = Frame(master)
  15. self.segundoContainer.pack()
  16. self.showresult = Label(self.segundoContainer, text='', font=14)
  17. self.showresult.pack()
  18.  
  19. self.terceiroContainer = Frame(master)
  20. self.terceiroContainer.pack()
  21.  
  22. self.um = Button(self.terceiroContainer, text='1', font=9, width=2, height=2)
  23. self.um['command'] = self.escreve_um
  24. self.um.grid(row=0, column=0)
  25.  
  26. self.dois = Button(self.terceiroContainer, text='2', font=9, width=2, height=2)
  27. self.dois['command'] = self.escreve_dois
  28. self.dois.grid(row=0, column=1)
  29.  
  30. self.tres = Button(self.terceiroContainer, text='3', font=9, width=2, height=2)
  31. self.tres['command'] = self.escreve_tres
  32. self.tres.grid(row=0, column=2)
  33.  
  34. self.quatro = Button(self.terceiroContainer, text='4', font=9, width=2, height=2)
  35. self.quatro['command'] = self.escreve_quatro
  36. self.quatro.grid(row=1, column=0)
  37.  
  38. self.cinco = Button(self.terceiroContainer, text='5', font=9, width=2, height=2)
  39. self.cinco['command'] = self.escreve_cinco
  40. self.cinco.grid(row=1, column=1)
  41.  
  42. self.seis = Button(self.terceiroContainer, text='6', font=9, width=2, height=2)
  43. self.seis['command'] = self.escreve_seis
  44. self.seis.grid(row=1, column=2)
  45.  
  46. self.sete = Button(self.terceiroContainer, text='7', font=9, width=2, height=2)
  47. self.sete['command'] = self.escreve_sete
  48. self.sete.grid(row=2, column=0)
  49.  
  50. self.oito = Button(self.terceiroContainer, text='8', font=9, width=2, height=2)
  51. self.oito['command'] = self.escreve_oito
  52. self.oito.grid(row=2, column=1)
  53.  
  54. self.nove = Button(self.terceiroContainer, text='9', font=9, width=2, height=2)
  55. self.nove['command'] = self.escreve_nove
  56. self.nove.grid(row=2, column=2)
  57.  
  58. self.zero = Button(self.terceiroContainer, text='0', font=9, width=2, height=2)
  59. self.zero['command'] = self.escreve_zero
  60. self.zero.grid(row=3, column=1)
  61.  
  62. self.ponto = Button(self.terceiroContainer, text='.', font=9, width=2, height=2)
  63. self.ponto['command'] = self.escreve_ponto
  64. self.ponto.grid(row=3, column=0)
  65.  
  66. self.divisao = Button(self.terceiroContainer, text='/', font=9, width=2, height=2)
  67. self.divisao['command'] = self.escreve_divisao
  68. self.divisao.grid(row=0, column=3)
  69.  
  70. self.multiplicacao = Button(self.terceiroContainer, text='*', font=9, width=2, height=2)
  71. self.multiplicacao['command'] = self.escreve_multiplicacao
  72. self.multiplicacao.grid(row=1, column=3)
  73.  
  74. self.subtracao = Button(self.terceiroContainer, text='-', font=9, width=2, height=2)
  75. self.subtracao['command'] = self.escreve_subtracao
  76. self.subtracao.grid(row=2, column=3)
  77.  
  78. self.adicao = Button(self.terceiroContainer, text='+', font=9, width=2, height=2)
  79. self.adicao['command'] = self.escreve_adicao
  80. self.adicao.grid(row=3, column=3)
  81.  
  82. self.limpa = Button(self.terceiroContainer, text='C', font=9, width=2, height=2)
  83. self.limpa['command'] = self.escreve_limpa
  84. self.limpa.grid(row=0, column=4)
  85.  
  86. self.potencia = Button(self.terceiroContainer, text='^', font=9, width=2, height=2)
  87. self.potencia['command'] = self.escreve_potencia
  88. self.potencia.grid(row=1, column=4)
  89.  
  90. self.binario = Button(self.terceiroContainer, text='bin', font=9, width=2, height=2)
  91. self.binario['command'] = self.escreve_binario
  92. self.binario.grid(row=0, column=5)
  93.  
  94. self.octal = Button(self.terceiroContainer, text='oct', font=9, width=2, height=2)
  95. self.octal['command'] = self.escreve_octal
  96. self.octal.grid(row=1, column=5)
  97.  
  98. self.hexadecimal = Button(self.terceiroContainer, text='hex', font=9, width=2, height=2)
  99. self.hexadecimal['command'] = self.escreve_hexadecimal
  100. self.hexadecimal.grid(row=2, column=5)
  101.  
  102. self.raiz = Button(self.terceiroContainer, text='sqrt', font=9, width=2, height=2)
  103. self.raiz['command'] = self.escreve_raiz
  104. self.raiz.grid(row=2, column=4)
  105.  
  106. self.seno = Button(self.terceiroContainer, text='sin', font=9, width=2, height=2)
  107. self.seno['command'] = self.escreve_seno
  108. self.seno.grid(row=0, column=6)
  109.  
  110. self.cosseno = Button(self.terceiroContainer, text='cos', font=9, width=2, height=2)
  111. self.cosseno['command'] = self.escreve_cosseno
  112. self.cosseno.grid(row=1, column=6)
  113.  
  114. self.tangente = Button(self.terceiroContainer, text='tag', font=9, width=2, height=2)
  115. self.tangente['command'] = self.escreve_tangente
  116. self.tangente.grid(row=2, column=6)
  117.  
  118. self.resultado = Button(self.terceiroContainer, text='=', font=9, width=2, height=2)
  119. self.resultado['command'] = self.escreve_resultado
  120. self.resultado.grid(row=3, column=2)
  121.  
  122.  
  123. def escreve_um(self):
  124. self.showresult['text'] += '1'
  125.  
  126. def escreve_dois(self):
  127. self.showresult['text'] += '2'
  128.  
  129. def escreve_tres(self):
  130. self.showresult['text'] += '3'
  131.  
  132. def escreve_quatro(self):
  133. self.showresult['text'] += '4'
  134.  
  135. def escreve_cinco(self):
  136. self.showresult['text'] += '5'
  137.  
  138. def escreve_seis(self):
  139. self.showresult['text'] += '6'
  140.  
  141. def escreve_sete(self):
  142. self.showresult['text'] += '7'
  143.  
  144. def escreve_oito(self):
  145. self.showresult['text'] += '8'
  146.  
  147. def escreve_nove(self):
  148. self.showresult['text'] += '9'
  149.  
  150. def escreve_zero(self):
  151. self.showresult['text'] += '0'
  152.  
  153. def escreve_ponto(self):
  154. self.showresult['text'] += '.'
  155.  
  156. def escreve_divisao(self):
  157. self.showresult['text'] += '/'
  158.  
  159. def escreve_multiplicacao(self):
  160. self.showresult['text'] += '*'
  161.  
  162. def escreve_subtracao(self):
  163. self.showresult['text'] += '-'
  164.  
  165. def escreve_adicao(self):
  166. self.showresult['text'] += '+'
  167.  
  168. def escreve_potencia(self):
  169. self.showresult['text'] += '**'
  170.  
  171. def escreve_raiz(self):
  172. raiz = eval(self.showresult['text'])
  173. raiz = sqrt(raiz)
  174. self.showresult['text'] = str(raiz)
  175.  
  176. def escreve_binario(self):
  177. self.showresult['text'] = str(bin(eval(self.showresult['text'])))[2:]
  178.  
  179. def escreve_octal(self):
  180. self.showresult['text'] = str(oct(eval(self.showresult['text'])))[2:]
  181.  
  182. def escreve_hexadecimal(self):
  183. self.showresult['text'] = str(hex(eval(self.showresult['text'])))[2:].upper()
  184.  
  185. def escreve_seno(self):
  186. self.showresult['text'] = str(sin(eval(self.showresult['text'])))
  187.  
  188. def escreve_cosseno(self):
  189. self.showresult['text'] = str(cos(eval(self.showresult['text'])))
  190.  
  191. def escreve_tangente(self):
  192. self.showresult['text'] = str(tan(eval(self.showresult['text'])))
  193.  
  194. def escreve_limpa(self):
  195. self.showresult['text'] = ''
  196.  
  197. def escreve_resultado(self):
  198. self.showresult['text'] = str(eval(self.showresult['text']))
  199.  
  200. root = Tk()
  201. Calculadora(root)
  202. root.mainloop()
Add Comment
Please, Sign In to add comment