Skip to main content

Exercícios de Python - Curso em Vídeo

Project description

🚀 Meu Repositório de Estudos em Python

Pre-commit CI Coverage PyPI License: MIT


🐍 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

  1. Faça um fork do projeto
  2. Crie uma branch (git checkout -b feature/nova-feature)
  3. Commit suas mudanças (git commit -m 'Adiciona novo exercício')
  4. Push para a branch (git push origin feature/nova-feature)
  5. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

meu_pacote_python-1.0.6.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

meu_pacote_python-1.0.6-py3-none-any.whl (25.4 kB view details)

Uploaded Python 3

File details

Details for the file meu_pacote_python-1.0.6.tar.gz.

File metadata

  • Download URL: meu_pacote_python-1.0.6.tar.gz
  • Upload date:
  • Size: 14.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for meu_pacote_python-1.0.6.tar.gz
Algorithm Hash digest
SHA256 62f3375d93bc37bba5b9bca912b8cdb2bd1259ff92b9da3e7e3fcd021728058c
MD5 f26a48c4951487063fc37c64e47e76ca
BLAKE2b-256 fac7f3f5671d42f6ce8b7c98cea6afe887478e5d8fa16d9a0c9c79f3fea0484a

See more details on using hashes here.

File details

Details for the file meu_pacote_python-1.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for meu_pacote_python-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 f11b6a7bc74538566ee9e55c56d2dcbbfe3544f07944e9ba1e930942205fffb9
MD5 f8d1df59cf4b617c271f84ff7f32bf13
BLAKE2b-256 ed325ca0f9818712bc4d713084c7ab3d46f9a7b27206e350f0b084c496c65555

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page