Prof. Gustavo Franz (Science/Biology) · Python Developer in Progress · Building Educational Solutions with Python
github.com/GustaFranz
Sou professor de Ciencias e Biologia desde 2013. Hoje estou em transicao para a area de tecnologia, estudando programacao de forma estruturada, consistente e publica.
Este repositorio nao e so uma lista de scripts: e um portfolio de evolucao — do primeiro print ate automacao com pandas, streamlit e bibliotecas reais. Sao 298 exercicios em 4 trilhas, cada um com pasta propria, README e codigo executavel.
Em uma frase: alguem que ja ensina, aprende com metodo e compartilha o caminho para ajudar outros.
Este repositório faz parte do meu processo de aprendizado em Python. Uso ferramentas de IA como apoio para revisão, edição de layouts dos materiais e tirar dúvidas, mas todos os códigos são estudados e escritos por mim.
|
Progressivos Fundamentos, intermediario, bibliotecas e materiais PDF |
Materiais de apoio Texto nitido, pronto para estudo e impressao |
Organizacao Pastas NN_snake_case, README por exercicio
|
Projeto publicado Biblioteca para cores no terminal |
Projeto integrando Python, dados geograficos e visualizacao interativa — simulacao de excursao escolar pela Serra da Capivara (PI).
|
49 — GeoExplorer Educacional Cadastro de pontos com latitude e longitude, exportacao em JSON e mapa HTML com Folium Abrir exercicio · Ver mapa interativo |
||
Relatorio Lista formatada no terminal |
Mapa geral Sete cidades e pontos no Piaui |
Detalhe do ponto Popup ao clicar no marcador |
Guias criados durante meus estudos — compartilhados para quem esta comecando. Clique no card ou em Baixar PDF para fazer o download.
Git para iniciantes Commits, branches, merge e fluxo de trabalho Baixar PDF · Ver pasta |
Dicionarios em Python Operacoes, metodos e exercicio pratico Baixar PDF · Ver pasta |
Listas em Python Indices, slice, sort/sorted, set e carrinho de compras Baixar PDF |
Tuplas em Python Imutabilidade, fatiamento e medias escolares Baixar PDF |
Tratamento de Strings em Python Metodos, validacoes e analisador de frases Baixar PDF |
|
EasyAnsi em Python Sintaxe, atalhos, logging e exercicio pratico Baixar PDF · Ver pasta |
Pathlib e Shutil em Python Caminhos, glob, mkdir, move e integracao com automacao Baixar PDF · Indice completo dos materiais |
|
Python
|
Logica e organizacao
|
Git e comunicacao
|
git clone https://github.com/GustaFranz/python_exercises.git
cd python_exercises/01_python_fundamentals # ou 02_intermediate_advanced / 03_python_libraries
cd 04_funcao_format # troque pela pasta do exercicio
python main.py- Clone o repositorio
- Entre na trilha (
01_,02_ou03_) e depois na pasta do exercicio - Execute o script com Python 3 (Streamlit:
streamlit run main.py; avaliacoes em03_: vejaperguntas.md)
Indice detalhado dos fundamentos abaixo. Demais trilhas:
| Area | Exercicios | Link |
|---|---|---|
| 01 — Fundamentals | 145 | Indice |
| 02 — Intermediate | 125 | Indice |
| 03 — Libraries | 28 | Indice |
| 04 — Study Materials | 7 guias PDF | Indice |
Total: 298 exercicios + materiais de apoio.
Fundamentos (01-04)
| # | Exercicio | Link |
|---|---|---|
| 01 | Meu primeiro codigo | Abrir |
| 02 | Soma de dois numeros | Abrir |
| 03 | Comandos de decisao | Abrir |
| 04 | Funcao format | Abrir |
Strings e numeros basicos (05-07)
| # | Exercicio | Link |
|---|---|---|
| 05 | Strings maiusculas | Abrir |
| 06 | Strings minuscula | Abrir |
| 07 | Antecessor e sucessor | Abrir |
Conversoes e unidades (08-13)
| # | Exercicio | Link |
|---|---|---|
| 08 | Conversao do sistema metrico decimal | Abrir |
| 09 | Conversao de volume em litros | Abrir |
| 10 | Capacidade em litros | Abrir |
| 11 | Converter Celsius para Kelvin | Abrir |
| 12 | Converter Fahrenheit para Kelvin | Abrir |
| 13 | Converter Celsius para Fahrenheit | Abrir |
Matematica e geometria (14-20)
| # | Exercicio | Link |
|---|---|---|
| 14 | Permissao de passagem de veiculos | Abrir |
| 15 | Aluguel de carros | Abrir |
| 16 | Parte inteira de numero real | Abrir |
| 17 | Hipotenusa do triangulo | Abrir |
| 18 | Seno, cosseno e tangente | Abrir |
| 19 | Area e perimetro | Abrir |
| 20 | Calculadora de IMC | Abrir |
Random, strings e jogos (21-29)
| # | Exercicio | Link |
|---|---|---|
| 21 | Sorteio de um aluno | Abrir |
| 22 | Sorteio da ordem de apresentacao | Abrir |
| 23 | Analisador de textos | Abrir |
| 24 | Separador de digitos | Abrir |
| 25 | Nome da cidade | Abrir |
| 26 | Contem Silva | Abrir |
| 27 | Analisador de frase | Abrir |
| 28 | Primeiro e ultimo nome | Abrir |
| 29 | Advinhe o numero | Abrir |
Condicionais avancadas (30-36)
| # | Exercicio | Link |
|---|---|---|
| 30 | Controle de velocidade | Abrir |
| 31 | Par ou impar | Abrir |
| 32 | Calculo do preco da passagem | Abrir |
| 33 | Ano bissexto | Abrir |
| 34 | Maior e menor numero | Abrir |
| 35 | Aumento salarial | Abrir |
| 36 | Condicao de existencia do triangulo | Abrir |
Estruturas de dados e sistemas (37-50)
| # | Exercicio | Link |
|---|---|---|
| 37 | Sistema de medias da turma | Abrir |
| 38 | Analisador de gastos mensais | Abrir |
| 39 | Tabuada inteligente | Abrir |
| 40 | Classificador de palavras | Abrir |
| 41 | Simulador de presenca escolar | Abrir |
| 42 | Sistema de frequencia com relatorio | Abrir |
| 43 | Cadastro de alunos | Abrir |
| 44 | Simulador de caixa de supermercado | Abrir |
| 45 | Monitor de temperatura com alerta | Abrir |
| 46 | Controle de acesso com bloqueio | Abrir |
| 47 | Sistema de comandos no console | Abrir |
| 48 | Registro de disciplinas | Abrir |
| 49 | Registro de coordenadas de campo | Abrir |
| 50 | Ranking imutavel de alunos | Abrir |
Tuplas (51-60)
| # | Exercicio | Link |
|---|---|---|
| 51 | Catalogo de produtos fixos | Abrir |
| 52 | Registro de sessoes de estudo | Abrir |
| 53 | Criar tupla basica | Abrir |
| 54 | Acessar elementos da tupla | Abrir |
| 55 | Fatiar tupla | Abrir |
| 56A | Percorrer tupla | Abrir |
| 56B | Materiais escolares em tupla | Abrir |
| 57 | Desempacotar tupla | Abrir |
| 58 | Boletim de medias com tuplas | Abrir |
| 59 | Registro de temperaturas com tuplas | Abrir |
| 60 | Catalogo de precos com tuplas | Abrir |
Listas (61-73)
| # | Exercicio | Link |
|---|---|---|
| 61 | Criar lista basica | Abrir |
| 62 | Acessar elementos da lista | Abrir |
| 63 | Adicionar e remover itens da lista | Abrir |
| 64 | Fatiar lista | Abrir |
| 65 | Ordenar lista | Abrir |
| 66 | Verificar item na lista | Abrir |
| 67 | Percorrer lista com enumerate | Abrir |
| 68 | Analise de notas com filtragem | Abrir |
| 69 | Limpeza de dados de vendas | Abrir |
| 70 | Classificador de palavras por tamanho | Abrir |
| 71 | Controle de presenca com correcao | Abrir |
| 72 | Analisador de desempenho de posts | Abrir |
| 73 | Otimizacao de lista de tarefas | Abrir |
Dicionarios (74-86)
| # | Exercicio | Link |
|---|---|---|
| 74 | Criar dicionario basico | Abrir |
| 75 | Acessar valores do dicionario | Abrir |
| 76 | Adicionar e atualizar dicionario | Abrir |
| 77 | Percorrer dicionario | Abrir |
| 78 | Verificar chave no dicionario | Abrir |
| 79 | Remover chave do dicionario | Abrir |
| 80 | Listar chaves e valores do dicionario | Abrir |
| 81 | Sistema de notas por aluno | Abrir |
| 82 | Controle de estoque de loja | Abrir |
| 83 | Analise de engajamento de posts | Abrir |
| 84 | Cadastro de alunos com multiplas infos | Abrir |
| 85 | Avaliacao de produtos | Abrir |
| 86 | Controle de frequencia por disciplina | Abrir |
Funcoes (87-95)
| # | Exercicio | Link |
|---|---|---|
| 87 | Criar funcao simples | Abrir |
| 88 | Funcao com parametro | Abrir |
| 89 | Funcao com retorno | Abrir |
| 90 | Funcao com parametro padrao | Abrir |
| 91 | Calculadora de desempenho escolar | Abrir |
| 92 | Simulador de orcamento mensal | Abrir |
| 93 | Validacao de senha | Abrir |
| 94 | Analise de texto | Abrir |
| 95 | Gerador de relatorios de turma | Abrir |
Funcoes com *args (136-138)
| # | Exercicio | Link |
|---|---|---|
| 136 | Funcao com *args: soma variavel | Abrir |
| 137 | Funcao com *args: media de notas | Abrir |
| 138 | Funcao com *args: relatorio do aluno | Abrir |
Funcoes com **kwargs (139-141)
| # | Exercicio | Link |
|---|---|---|
| 139 | Funcao com **kwargs: perfil do aluno | Abrir |
| 140 | Funcao com **kwargs: mensagem personalizada | Abrir |
| 141 | Funcao com **kwargs: registro de presenca | Abrir |
Desafio de funcoes (142)
| # | Exercicio | Link |
|---|---|---|
| 142 | Desafio: sistema de pedidos com tres funcoes | Abrir |
Funcao de ordem superior (143-144)
| # | Exercicio | Link |
|---|---|---|
| 143 | Funcao de ordem superior: filtrar com lambda interna | Abrir |
| 144 | Funcao de ordem superior: transformar com lambda interna | Abrir |
Funcoes lambda (96-109)
| # | Exercicio | Link |
|---|---|---|
| 96 | Lambda simples | Abrir |
| 97 | Lambda com dois parametros | Abrir |
| 98 | Lambda com condicao | Abrir |
| 99 | Ordenar produtos com lambda | Abrir |
| 100 | Filtrar aprovados com lambda | Abrir |
| 101 | Reajuste de precos com lambda | Abrir |
| 102 | Ordenar disciplinas com lambda | Abrir |
| 103 | Ordenar ranking com lambda | Abrir |
| 104 | Filtrar numeros grandes com lambda | Abrir |
| 105 | Filtrar palavras longas com lambda | Abrir |
| 106 | Dobrar numeros com map e lambda | Abrir |
| 107 | Capitalizar nomes com map e lambda | Abrir |
| 108 | Arredondar medias com lambda | Abrir |
| 109 | Arredondar precos com lambda | Abrir |
Modulos e pacotes (110-115)
| # | Exercicio | Link |
|---|---|---|
| 110 | Calculadora modular | Abrir |
| 111 | Analise de notas com modulos | Abrir |
| 112 | Organizador de arquivos por modulos | Abrir |
| 113 | Cadastro de alunos modular | Abrir |
| 114 | Analise de vendas com modulos | Abrir |
| 115 | Modulos em pacotes | Abrir |
Bibliotecas (116-121)
| # | Exercicio | Link |
|---|---|---|
| 116 | Planejamento de estudos com datas | Abrir |
| 117 | Gerador de numeros para questoes | Abrir |
| 118 | Simulador de sorteio de alunos | Abrir |
| 119 | Analisador de texto com biblioteca padrao | Abrir |
| 120 | Tempo de execucao de tarefas | Abrir |
| 121 | Analisador de estatisticas com NumPy | Abrir |
Manipulacao de dados (122-126)
| # | Exercicio | Link |
|---|---|---|
| 122 | Limpeza de base de dados de alunos | Abrir |
| 123 | Analise de vendas com estrutura de dados | Abrir |
| 124 | Agrupamento de usuarios por idade | Abrir |
| 125 | Transformacao de dados para relatorio | Abrir |
| 126 | Consolidacao de registros de sensores | Abrir |
APIs (127-130)
| # | Exercicio | Link |
|---|---|---|
| 127 | Consulta de clima via API | Abrir |
| 128 | Cotacao de moeda em tempo real | Abrir |
| 129 | Consulta de livros via API | Abrir |
| 130 | Gerador de fatos aleatorios | Abrir |
Tratamento de excecoes (131-135)
| # | Exercicio | Link |
|---|---|---|
| 131 | Entrada segura de notas | Abrir |
| 132 | Leitor seguro de divisao | Abrir |
| 133 | Leitura de arquivos protegida | Abrir |
| 134 | Validador de idade para cadastro | Abrir |
| 135 | Login seguro com controle de erro | Abrir |
Atalhos rapidos (indice completo em cada pasta):
| Area | Nivel | Exercicios | Link |
|---|---|---|---|
| 02 — Intermediate Advanced | Intermediario | 125 | Indice completo |
| 03 — Python Libraries | Bibliotecas e automacao | 28 | Indice completo |
| 04 — Study Materials | Guias PDF de apoio | 7 guias | Indice completo |
|
EasyAnsi Formatacao colorida no terminal — zero dependencias, docs em 4 idiomas |
python_exercises Portfolio de evolucao com exercicios documentados e materiais PDF |
| Onde | Regra |
|---|---|
| Pastas | NN_snake_case — numero + nome sem espacos e sem acentos (sufixo A/B para exercicios complementares, ex.: 56A, 56B) |
| READMEs | Titulos (headings) sem acentos, para ancoras e links simples; textos corridos podem usar acentos normalmente |
| Codigo Python | Mensagens ao usuario podem usar acentos; comentarios seguem PEP 8 |
| Secoes | Objetivo, Enunciado e Como executar em cada exercicio |
python_exercises/
├── LICENSE
├── README.md
├── 01_python_fundamentals/
│ ├── README.md
│ └── NN_nome_exercicio/
│ ├── README.md
│ └── main.py
├── 02_intermediate_advanced/
│ ├── README.md
│ └── NN_nome_exercicio/ # 125 exercicios
│ ├── README.md
│ └── main.py
├── 03_python_libraries/
│ ├── README.md
│ ├── requirements.txt
│ ├── progresso.md
│ └── NN_nome_exercicio/ # 28 exercicios
│ ├── README.md
│ ├── main.py
│ └── dados/ # quando aplicavel
└── 04_study_materials/
├── README.md
├── _layout.py # layout compartilhado dos PDFs
├── assets/ # banner e cards (previews dos PDFs)
├── easyansi/
├── git/
└── python/
Sugestoes sao bem-vindas! Abra uma issue ou envie um Pull Request.
Quem estuda com perseveranca e confia em Deus, sempre vence!
Prof. Gustavo Franz
