Este repositório contém uma Calculadora Funcional desenvolvida em Python, criada como material de estudo para quem está iniciando na programação. O foco principal é demonstrar como organizar menus interativos e realizar operações matemáticas básicas de forma limpa.
Praticar o uso de Dicionários, Loops de repetição e Tratamento de Erros. É o projeto ideal para entender como o Python processa entradas do usuário e entrega resultados matemáticos em tempo real.
Este exercício foi estruturado para consolidar conceitos essenciais de algoritmos:
- Dicionários (Mapping): Como mapear símbolos matemáticos (
+,-,*,/) para nomes legíveis. - Tratamento de Erros (Try/Except): Como evitar que o programa feche ao tentar dividir por zero ou digitar letras.
- Manipulação de Listas: Transformar chaves de dicionários em listas para acessar opções por números (
índices). - UX no Terminal: Uso do módulo
subprocesspara limpar a tela e criar uma interface dinâmica.
Para quem está começando, o maior desafio não é a sintaxe, mas a montagem do raciocínio. Confira o passo a passo da construção deste jogo:
- Dicionário de Operações: Em vez de usar vários
if, guardamos as operações em um dicionário (dict). Isso permite que o programa "saiba" o nome de cada símbolo automaticamente. - Menu Dinâmico: O código percorre o dicionário e cria um menu numerado. Assim, se você adicionar uma nova operação no futuro, o menu se atualiza sozinho!
- Captura Segura: Usamos o
int(input()) - 1para converter a escolha do usuário no índice correto do Python (que sempre começa em 0). - Blindagem (Try/Except): O código é "blindado". Se o usuário digitar algo errado, o programa avisa o erro educadamente em vez de travar.
Para garantir a melhor experiência de aprendizado e a execução correta de todos os recursos (como a limpeza de tela automática), o projeto utiliza as seguintes tecnologias:
Para garantir que o jogo funcione corretamente, certifique-se de ter os seguintes itens instalados:
- Python 3.10 ou superior: O código utiliza recursos modernos da linguagem.
- VS Code / PyCharm (Opcional): Recomendado para abrir e editar o arquivo
main.pycom suporte total a refatoração e depuração.
Dica: Para verificar sua versão do Python, digite
python --versionno seu terminal.
- Clone o repositório:
git clone https://github.com/ryanvmorais/python-calculadora-simples.git
- Execute o script:
- Navegue até a pasta do projeto e utilize o comando abaixo no seu terminal (CMD, PowerShell ou Terminal do VS Code/PyCharm):
python main.py
Nota: O jogo detectará automaticamente se você está no
Windows,LinuxoumacOSpara gerenciar a limpeza da tela.
Para facilitar o acesso de quem está começando, adicionei scripts de inicialização automática. Basta baixar o projeto e:
- No Windows: Dê dois cliques no arquivo
iniciar_calculadora.bat. - No Linux/macOS: Execute o arquivo
iniciar_calculadora.shno terminal.
Esses scripts verificam automaticamente se você tem o Python instalado antes de iniciar a calculadora.
Para exercitar o que aprendeu, tente modificar o código e implementar estas novas funcionalidades:
- 🏆 Histórico de Operações (Gerenciamento de Estado):
O desafio é criar um registro que armazene todos os cálculos feitos durante a sessão.
- O Conceito: Aprenda a diferenciar variáveis de valor único de estruturas que acumulam o histórico de dados.
- A Lógica: Implemente uma lista (ex:
historico_calculos) que armazene cada string de resultado gerada. Crie uma nova opção no menu para exibir essa lista, permitindo que o usuário veja tudo o que foi calculado sem que os dados sumam a cada limpeza de tela. - O Aprendizado: Você entenderá como persistir informações em memória e como manipular listas para exibição posterior.
- 📊 Novas Funções Matemáticas: Expanda o dicionário de operações para incluir o Resto da Divisão (%) e a Raiz Quadrada (√). Lembre-se de tratar os casos onde o segundo valor não é necessário.
- 🎨 Feedback Visual: Utilize a biblioteca
coloramapara exibir os resultados em verde e as mensagens de erro (como divisão por zero) em vermelho, melhorando a experiência do usuário.
Aprender algo novo tem seus desafios, mas estou aqui para caminharmos juntos! Se você encontrou algum erro, teve dificuldade em rodar o jogo ou pensou em uma funcionalidade incrível para adicionar:
- Abra uma Issue: Clique no link e descreva sua dúvida ou sugestão. É a melhor forma de trocarmos conhecimento e ajudarmos outras pessoas que tenham a mesma dúvida!
- Me mande um E-mail: Se preferir algo mais privado, pode me escrever em contato@ryanmorais.com.br.
Ficarei muito feliz em ver seu progresso e receber seu feedback para melhorar cada vez mais nossos materiais de estudo! 🤝
Este projeto está sob a Licença MIT. Isso significa que você pode usar, copiar e modificar o código à vontade, inclusive para seus próprios projetos, desde que mantenha os créditos originais. Para mais detalhes, consulte o arquivo LICENSE.
