Exercícios de Python - Curso em Vídeo
Project description
🚀 Meu Repositório de Estudos em Python
🐍 Exercícios de Python - Curso em Vídeo (Gustavo Guanabara)
Este repositório contém minha prática dos exercícios do Curso de Python 3 - Mundo 01 do Curso em Vídeo, com scripts organizados e um menu interativo para facilitar a execução.
📦 Instalação
pip install meu_pacote_python
📁 Estrutura do Projeto
.
├── .github/
│ ├── workflows/
│ │ ├── python-ci.yml # CI/CD completo com testes e deploy
│ │ └── release-drafter.yml # Geração automática de changelog
│ └── release-drafter.yml # Configuração do Release Drafter
├── tests/
│ └── test_dummy.py # Teste de placeholder
├── Mundo01/
│ ├── Exercicios/ # Exercícios corrigidos e validados
│ └── Desafios/ # Versões experimentais ou alternativas
├── menu.py # Menu interativo para rodar exercícios
├── test_all.py # Executa todos os exercícios
├── requirements.txt # Dependências do projeto
├── setup.cfg # Configurações do Flake8 e outros linters
├── .pre-commit-config.yaml # Configurações do pre-commit
└── README.md # Este arquivo
💻 Uso como Pacote
Após instalar, você pode importar os exercícios diretamente:
from meu_pacote_python.Mundo01.Exercicios import ex001
ex001.ex001() # Executa o exercício 1
▶️ Como Executar
🔹 Requisitos:
- Python 3 instalado
🔹 Passos:
git clone https://github.com/igorpompeo/Python.git
cd Python
python menu.py
Digite o número do exercício desejado (sem o prefixo ex):
Digite o número do exercício (ex: 001), ou 'sair': 004
✅ Testar Todos os Exercícios
Para rodar todos os exercícios automaticamente:
python test_all.py
🧪 Cobertura de Testes
Para verificar a cobertura dos exercícios:
pytest --cov=Mundo01 --cov-report=term-missing --cov-fail-under=80
⚙️ DevOps com GitHub Actions
Este projeto conta com CI configurado:
- ✅ Testes com pytest
- ✅ Análise de segurança com bandit
- ✅ Cobertura de testes com codecov
- ✅ Publicação automática no PyPI
- ✅ Geração de changelog com Release Drafter
- ✅ Pre-commit hooks com formatação e lint
O workflow é executado em todos os push, pull_request e pode ser executado manualmente.
🤝 Como Contribuir
- Faça um fork do projeto
- Crie uma branch (
git checkout -b feature/nova-feature) - Commit suas mudanças (
git commit -m 'Adiciona novo exercício') - Push para a branch (
git push origin feature/nova-feature) - Abra um Pull Request
🧼 Pre-commit Hooks
O repositório usa pre-commit para garantir qualidade no código.
Para instalar os hooks localmente:
pip install pre-commit
pre-commit install
pre-commit run --all-files
Para rodar manualmente:
pre-commit run --all-files
🚧 Em andamento
Este repositório está sendo atualizado conforme avanço no curso. Fique à vontade para acompanhar ou contribuir!
📚 Créditos
Curso ministrado por Gustavo Guanabara no portal Curso em Vídeo.
📄 Licença
Este projeto está licenciado sob os termos da licença MIT.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file meu_pacote_python-1.0.7.tar.gz.
File metadata
- Download URL: meu_pacote_python-1.0.7.tar.gz
- Upload date:
- Size: 14.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4024daf892f885b75e4356b3512c6b9dd3e97c89dbc1ddc790f8ff90091be0c
|
|
| MD5 |
f460c5caed53d116adcb1d05c525b5e4
|
|
| BLAKE2b-256 |
dcac7ddd11ba31680277bac4f0f5d3ee0c27ec04101fe7a92e6f5715ca69545e
|
File details
Details for the file meu_pacote_python-1.0.7-py3-none-any.whl.
File metadata
- Download URL: meu_pacote_python-1.0.7-py3-none-any.whl
- Upload date:
- Size: 25.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb5bea113949baccc490c23dcce59859c18bfec2c2aa561cb21a6fd4b6160d09
|
|
| MD5 |
5787bd4676ab2bbb4149f7ed74a71f21
|
|
| BLAKE2b-256 |
d1bff96c3ecf587bd776ce3eb2aa1548ebbf8d0f2eccfa453b5570b08d4f8970
|