Skip to content

GustaFranz/python_exercises

Repository files navigation

python_exercises — portfolio de evolucao em Python

Python 3.x Git Educacao Open Source MIT

Prof. Gustavo Franz (Science/Biology) · Python Developer in Progress · Building Educational Solutions with Python
github.com/GustaFranz


Por que olhar este repositorio?

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.


Destaques

298 exercicios 71 exercicios resolvidos 4 trilhas

Progressivos
Fundamentos, intermediario, bibliotecas e materiais PDF
7 guias PDF

Materiais de apoio
Texto nitido, pronto para estudo e impressao
Padrao profissional

Organizacao
Pastas NN_snake_case, README por exercicio
EasyAnsi

Projeto publicado
Biblioteca para cores no terminal

Atividades em Destaque

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 de pontos geograficos no terminal

Relatorio
Lista formatada no terminal
Mapa com sete pontos da excursao escolar

Mapa geral
Sete cidades e pontos no Piaui
Popup do Parque Nacional da Serra da Capivara

Detalhe do ponto
Popup ao clicar no marcador

Materiais de apoio (PDF)

Guias criados durante meus estudos — compartilhados para quem esta comecando. Clique no card ou em Baixar PDF para fazer o download.

Git para iniciantes

Git para iniciantes
Commits, branches, merge e fluxo de trabalho

Baixar PDF · Ver pasta
Dicionarios em Python

Dicionarios em Python
Operacoes, metodos e exercicio pratico

Baixar PDF · Ver pasta
Listas em Python

Listas em Python
Indices, slice, sort/sorted, set e carrinho de compras

Baixar PDF
Tuplas em Python

Tuplas em Python
Imutabilidade, fatiamento e medias escolares

Baixar PDF
Tratamento de Strings em Python

Tratamento de Strings em Python
Metodos, validacoes e analisador de frases

Baixar PDF
EasyAnsi em Python

EasyAnsi em Python
Sintaxe, atalhos, logging e exercicio pratico

Baixar PDF · Ver pasta
Pathlib e Shutil

Pathlib e Shutil em Python
Caminhos, glob, mkdir, move e integracao com automacao

Baixar PDF · Indice completo dos materiais

Competencias demonstradas

Python

  • Tipos, strings, condicionais, loops
  • Funcoes, listas, tuplas, dicionarios

Logica e organizacao

  • Problemas do mundo real (IMC, conversores, sorteios)
  • Projetos modulares, validacao, menus interativos

Git e comunicacao

  • Versionamento, branches, fluxo colaborativo
  • Documentacao clara — perfil de quem veio da educacao

Como executar

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
  1. Clone o repositorio
  2. Entre na trilha (01_, 02_ ou 03_) e depois na pasta do exercicio
  3. Execute o script com Python 3 (Streamlit: streamlit run main.py; avaliacoes em 03_: veja perguntas.md)

Navegacao dos exercicios

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

Outras trilhas

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

Outros projetos

EasyAnsi

EasyAnsi
Formatacao colorida no terminal — zero dependencias, docs em 4 idiomas
python_exercises

python_exercises
Portfolio de evolucao com exercicios documentados e materiais PDF

Convencoes

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

Estrutura do repositorio

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/

Contribuicao

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

About

Repositório com exercícios e projetos iniciais desenvolvidos durante meu aprendizado em programação. Inclui scripts básicos em Python e práticas de lógica. Objetivo: documentar minha evolução, compartilhar conhecimentos e oferecer exemplos para outros iniciantes. Sugestões são bem-vindas!

Topics

Resources

License

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors