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.7.tar.gz (14.4 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.7-py3-none-any.whl (25.4 kB view details)

Uploaded Python 3

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

Hashes for meu_pacote_python-1.0.7.tar.gz
Algorithm Hash digest
SHA256 a4024daf892f885b75e4356b3512c6b9dd3e97c89dbc1ddc790f8ff90091be0c
MD5 f460c5caed53d116adcb1d05c525b5e4
BLAKE2b-256 dcac7ddd11ba31680277bac4f0f5d3ee0c27ec04101fe7a92e6f5715ca69545e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for meu_pacote_python-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 cb5bea113949baccc490c23dcce59859c18bfec2c2aa561cb21a6fd4b6160d09
MD5 5787bd4676ab2bbb4149f7ed74a71f21
BLAKE2b-256 d1bff96c3ecf587bd776ce3eb2aa1548ebbf8d0f2eccfa453b5570b08d4f8970

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