Este é um projeto simples de calculadora desenvolvido em Python, como parte do curso Analista de dados EBAC. O projeto inclui o script principal da calculadora ('calculadora.py') e um script de setup ('calculadora.sh') para facilitar a execução em ambientes Linux/WSL.
O script 'calculadora.sh' foi criado para verificar os requisitos para executar a calculadora, verifica se o Python 3 está instalado e, em seguida, executa a calculadora.
Instruções de uso:
-
Clone o repositório: git clone https://github.com/azaelbr/Logica-de-programacao.git
-
Acesse a pasta do projeto: cd Logica-de-programacao
-
Dê permissão de execução ao script: chmod +x calculadora.sh
-
Execute o script: ./calculadora.sh
O script irá verificar a dependência do 'python3', perguntar se deseja instalá-lo (caso não o encontre) e, em seguida, iniciar o 'calculadora.py'.
O código Python foi estruturado usando funções para garantir que o programa seja limpo, reutilizável e fácil de manter. A lógica principal é separada em funções específicas:
-
'obter_numero(mensagem)':
- Esta função é responsável por pedir um número ao usuário.
- Ela usa um loop 'while True' com um bloco 'try...except ValueError' para garantir que o usuário digite apenas um número válido.
- Se o usuário digitar um texto (ex: "abc"), o programa informará o erro e pedirá o número novamente, sem quebrar.
-
'obter_operacao()':
- Similar à anterior, esta função pede ao usuário a operação (+, -, *, /).
- Ela verifica se a entrada do usuário está na lista de operações permitidas. Se não estiver, pede novamente.
-
'calcular(num1, num2, operacao)':
- Esta função recebe os dois números e a operação.
- Ela usa 'if/elif' para realizar o cálculo correto.
- Inclui um tratamento especial para evitar a divisão por zero.
-
'main()':
- Esta é a função principal que orquestra o fluxo do programa.
- Ela roda em um 'while True' para que a calculadora possa ser usada múltiplas vezes.
- Ela chama as outras funções ('obter_numero', 'obter_operacao', 'calcular') na ordem correta.
- Ao final de cada cálculo, ela pergunta ao usuário se deseja "realizar outra operação (s/n)", tratando a resposta com '.lower()' para aceitar tanto 's' quanto 'S'.
- Se o usuário digitar 'n', o loop é interrompido com 'break' e o programa encerra.