├── .gitignore ├── controller ├── __init__.py └── controller.py ├── model ├── __init__.py └── calculadora.py └── viewTerminal ├── __init__.py └── view.py /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | *.pyc 3 | *~ 4 | -------------------------------------------------------------------------------- /controller/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- -------------------------------------------------------------------------------- /controller/controller.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | from model.calculadora import Calculadora 4 | from viewTerminal.view import View 5 | 6 | 7 | class CtrlCalculadora(): 8 | def start(self): 9 | opcao = self.view.start() 10 | 11 | while opcao != 0: 12 | resultado = self.operacao(opcao) 13 | self.view.mostrarResultado(resultado) 14 | 15 | opcao = self.view.menu() 16 | 17 | self.view.finalizar() 18 | 19 | def operacao(self, opcao): 20 | primeiro, segundo = self.view.getOperando() 21 | 22 | if opcao == 1: 23 | return self.model.soma(primeiro, segundo) 24 | elif opcao == 2: 25 | return self.model.subtracao(primeiro, segundo) 26 | elif opcao == 3: 27 | return self.model.multiplicacao(primeiro, segundo) 28 | else: 29 | return self.model.divisao(primeiro, segundo) 30 | 31 | def __init__(self): 32 | self.model = Calculadora() 33 | self.view = View() 34 | 35 | 36 | if __name__ == "__main__": 37 | main = CtrlCalculadora() 38 | main.start() 39 | 40 | -------------------------------------------------------------------------------- /model/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- -------------------------------------------------------------------------------- /model/calculadora.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | 5 | class Calculadora(): 6 | def soma(self, primeiro, segundo): 7 | return primeiro + segundo 8 | 9 | def subtracao(self, primeiro, segundo): 10 | return primeiro - segundo 11 | 12 | def multiplicacao(self, primeiro, segundo): 13 | return primeiro * segundo 14 | 15 | def divisao(self, primeiro, segundo): 16 | return primeiro / segundo -------------------------------------------------------------------------------- /viewTerminal/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- -------------------------------------------------------------------------------- /viewTerminal/view.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | 5 | class View(): 6 | def start(self): 7 | print "Bem vindo a Calculadora python\n" 8 | return self.menu() 9 | 10 | def menu(self): 11 | print "1 - Para somar dois numeros" 12 | print "2 - Para subtrair dois numeros" 13 | print "3 - Para multiplicar dois numeros" 14 | print "4 - Para dividir dois numeros" 15 | print "0 - Sair" 16 | 17 | return int(raw_input("\nDigite a opção: ")) 18 | 19 | def getOperando(self): 20 | print "\nDigite os valores a serem calculado" 21 | 22 | primeiro = int(raw_input("O primeiro valor: ")) 23 | segundo = int(raw_input("O segundo valor: ")) 24 | 25 | return primeiro, segundo 26 | 27 | def mostrarResultado(self, resultado): 28 | print "O resultado calculado foi: %d\n" % resultado 29 | 30 | def finalizar(self): 31 | print "Programa finalizado!" --------------------------------------------------------------------------------