Este projeto consiste em uma calculadora desenvolvida em Python com foco em lógica de programação, validação de entrada e manipulação de expressões matemáticas.
O objetivo principal não é apenas realizar cálculos simples, mas servir como base evolutiva para construção de um interpretador matemático mais robusto, permitindo crescimento contínuo do projeto.
-
Entrada interativa via terminal
-
Suporte às quatro operações básicas:
- Soma (+)
- Subtração (-)
- Multiplicação (*)
- Divisão (/)
-
Validação de entrada do usuário
-
Conversão automática entre
intefloat -
Prevenção de expressões inválidas
-
Construção dinâmica da expressão antes da execução
O sistema segue um fluxo estruturado:
- O usuário insere um número inicial válido
- Escolhe um operador matemático
- Insere o próximo número
- O processo se repete até o usuário finalizar com
= - A expressão é montada como string
- O cálculo é realizado
Este projeto explora fundamentos importantes como:
- Tipagem dinâmica em Python
- Tratamento de exceções (
try/except) - Validação de dados
- Estruturas de repetição (
while) - Manipulação de listas
- Conversão de tipos
- Execução dinâmica de expressões
Apesar de funcional, o projeto possui limitações importantes:
- Uso de
eval()para cálculo (não recomendado em produção) - Não suporta precedência de operadores (ordem matemática correta)
- Não suporta parênteses
- Arquitetura ainda não modularizada
Este projeto está em constante evolução. As próximas melhorias incluem:
- Remoção do uso de
eval() - Implementação de cálculo manual (sem execução dinâmica)
- Melhor organização do código
- Suporte à precedência de operadores
- Implementação de pilhas (stack)
- Separação em módulos (parser, evaluator, interface)
- Implementação de parser completo de expressões
- Suporte a parênteses
- Possível interface gráfica (GUI)
- Transformação em mini linguagem matemática
.
├── app/
│ ├── calculator.py
│ └── src/
│ ├── preview/
│ │ └── code.png
│ └── services/
│ ├── calculation.py
│ ├── conversor.py
│ └── info.py
├── .gitignore
├── LICENSE
└── README.mdpython calculator.pyEste projeto não é apenas uma calculadora simples.
Ele foi pensado como um projeto incremental, onde cada melhoria representa um avanço em:
- Estrutura de software
- Pensamento algorítmico
- Capacidade de resolver problemas reais
🚧 Em desenvolvimento contínuo
Sugestões, melhorias e críticas são bem-vindas.
Este projeto está sob a licença MIT.
Este projeto começa simples por design, mas a intenção é evoluir para algo significativamente mais sofisticado.
Se você está acompanhando esse repositório, espere mudanças frequentes, refatorações agressivas e melhorias estruturais ao longo do tempo.
