Repositório criado para entrega do Trabalho M1 da disciplina Introdução à Programação em Python (UNIVALI).
O projeto consiste na resolução de 10 desafios de lógica, que foram posteriormente refatorados para formar uma aplicação interativa e modular, seguindo boas práticas de desenvolvimento de software.
O objetivo deste trabalho foi evoluir da simples implementação de algoritmos para a criação de um projeto mais robusto e organizado, focando em:
- Praticar lógica de programação, estruturas condicionais e manipulação de dados em Python.
- Aplicar boas práticas de código, como Separação de Responsabilidades (SoC) e DRY (Don't Repeat Yourself).
- Estruturar um projeto com múltiplos arquivos, separando a lógica de negócio, as funções utilitárias e o ponto de entrada da aplicação.
- Documentar o código de forma clara utilizando Docstrings e Type Hints.
- Criar uma interface de linha de comando (CLI) interativa para o usuário.
- 📁 Modularidade: Cada desafio está contido em seu próprio arquivo (
desafio_XX.py
), facilitando a manutenção e a organização. - ♻️ Reutilização de Código: Funções comuns, como a captura e validação de dados do usuário, foram centralizadas no arquivo
utils.py
. - 🧩 Separação de Responsabilidades: A lógica de negócio (cálculos) foi isolada da lógica de interface (funções de
input
eprint
), tornando o código mais limpo e testável.
- Cálculo de Bônus de Funcionário
- Classificação de Triângulos
- Cálculo e Classificação de IMC
- Boletim Escolar
- Validador de Datas
- Verificação de Voto
- Classificação de Risco Financeiro
- Jogo de Pontuação com Cartas
- Calculadora de Descontos
- Validador de Senha Segura
/
│
├── main.py # Ponto de entrada principal, exibe o menu interativo
├── utils.py # Funções utilitárias reutilizáveis
│
├── desafio_01.py # Solução do Desafio 1
├── desafio_02.py # Solução do Desafio 2
├── desafio_03.py # Solução do Desafio 3
├── desafio_04.py # Solução do Desafio 4
├── desafio_05.py # Solução do Desafio 5
├── desafio_06.py # Solução do Desafio 6
├── desafio_07.py # Solução do Desafio 7
├── desafio_08.py # Solução do Desafio 8
├── desafio_09.py # Solução do Desafio 9
└── desafio_10.py # Solução do Desafio 10
- É necessário ter o Python 3.x instalado.
-
Garanta que todos os 12 arquivos
.py
estejam na mesma pasta. -
Abra um terminal (ou Prompt de Comando) e navegue até o diretório do projeto.
-
Execute o programa principal com o comando:
python main.py
(ou
python3 main.py
em alguns sistemas) -
Navegue pelo menu interativo para escolher qual desafio executar.