1
2 """
3 Calculadora simples.
4
5 Para números em ponto flutuante utilize "." e não "," p.e.: 2.14
6
7 """
8 __author__ = "Leonardo Gregianin"
9
10 import sys
11
12 class Valor:
13 c = 0.000
14 d = 0.000
15 e = 0.000
16
17 def valor1(self):
18 try:
19 self.c = input('Primeiro Valor: ')
20 c = self.c
21 return c
22 except:
23 print 'Inválido, digite um número! Se for float digite . e não ,'
24 self.valor1()
25
26 def valor2(self):
27 try:
28 self.d = input('Segundo Valor: ')
29 d = self.d
30 return d
31 except:
32 print 'Inválido, digite um número! Se for float digite . e não ,'
33 self.valor2()
34
35 class Operador:
36
37 def somar(self, c, d):
38 self.e = c + d
39 e = self.e
40 return e
41
42 def subtrair(self, c, d):
43 self.e = c - d
44 e = self.e
45 return e
46
47 def multiplicar(self, c, d):
48 self.e = c * d
49 e = self.e
50 return e
51
52 def dividir(self, c, d):
53 self.e = c / d
54 e = self.e
55 return e
56
57 class Resultado:
58
59 def resultado(self, e, c, d):
60 print('Resultado: %f')%(d)
61
62
63 if __name__ == "__main__":
64
65 p1 = Valor()
66 v1 = p1.valor1()
67 v2 = p1.valor2()
68
69 p2 = Operador()
70
71 p3 = Resultado()
72
73 operacao = raw_input('Operação: (+) (-) (*) (/) ou (s)air ]: ')
74
75 while operacao:
76
77 if operacao == 's':
78 sys.exit()
79
80 if operacao == '+':
81 n1 = p2.somar(v1, v2)
82 p3.resultado(None, None, n1)
83
84 if operacao == '-':
85 n1 = p2.subtrair(v1, v2)
86 p3.resultado(None, None, n1)
87
88 if operacao == '*':
89 n1 = p2.multiplicar(v1, v2)
90 p3.resultado(None, None, n1)
91
92 if operacao == '/':
93 n1 = p2.dividir(v1, v2)
94 p3.resultado(None, None, n1)
95
96 break