🐍
 CODEMAR · Tecnologia & Automação

Python Básico
Programação & Automação

Aprenda a linguagem de programação mais popular do mundo para análise de dados, automação de tarefas corporativas e desenvolvimento de código limpo.

6 horas 6 aulas 15 questões Certificado CODEMAR
⭐ Oficial CODEMAR

Informações do Curso

Carga Horária
6 horas
Módulos
6 aulas
Modalidade
EAD — autoestudo
Certificado
Digital com QR Code
Área Responsável
Diretoria de TI e Inovação — CODEMAR
Última Atualização
v1.0 — 2026

Público-Alvo

Colaboradores de TI, planejamento e dados que desejam automatizar processos e trabalhar com dados.

Pré-Requisitos

Conhecimentos básicos de informática. Python 3 instalado (gratuito em python.org).

Objetivo Geral

Introduzir os fundamentos da programação em Python com foco em automação de tarefas e análise de dados no contexto corporativo da CODEMAR.

Competências Desenvolvidas

Escrever scripts Python funcionais
Trabalhar com variáveis e estruturas de dados
Criar condicionais e loops
Definir e usar funções
Tratar erros e automatizar tarefas

Metodologia

6 aulas com exercícios práticos · Quiz avaliativo com 15 questões · Código aplicado ao contexto CODEMAR.

Forma de Avaliação

15 questões objetivas · Mínimo 70% para aprovação · Feedback por questão · Tentativas ilimitadas · Versão 1.0 — 2026

Natureza do Certificado: Este certificado atesta a conclusão de curso de capacitação interna da plataforma CAPACITAR da CODEMAR. Representa formação institucional. Não possui validade como título acadêmico reconhecido pelo MEC.
01
Introdução ao Python, Sintaxe e Ambiente de Desenvolvimento
45 min

🐍 O que é Python e por que aprender?

Python é uma linguagem de programação de alto nível, interpretada, multiparadigma e de sintaxe limpa e altamente legível. Criada por Guido van Rossum em 1991, tornou-se a ferramenta padrão da indústria para automação corporativa, análise de dados, inteligência artificial, engenharia de software e desenvolvimento web.

💡 A Filosofia do Python (The Zen of Python)

Diferente de linguagens legadas que exigem códigos verbosos e complexos, o Python preza pela clareza: "Belo é melhor que feio. Explícito é melhor que implícito. Simples é melhor que complexo."

🛠️ Ambientes de Execução

  • Google Colab / Jupyter Notebook: Ambiente em nuvem ideal para aprendizado rápido sem necessidade de instalação local.
  • VS Code + Python 3: O ambiente profissional padrão para escrita de scripts, automações e projetos corporativos.
  • REPL (Terminal Interativo): Modo rápido acionado ao digitar python no terminal do sistema.

✍️ Regras Fundamentais de Sintaxe

  • Indentação Obrigatória: Em Python, os blocos de código (como funções e loops) são definidos pelo recuo de 4 espaços (ou 1 Tab), e não por chaves {}.
  • Case-Sensitive: A linguagem diferencia maiúsculas de minúsculas. Nome, nome e NOME são identificadores distintos.
  • Comentários: Linhas iniciadas com # são ignoradas pelo interpretador. Blocos de documentação utilizam aspas triplas """.

💻 O Primeiro Script: Saída de Dados com print()

A função print() exibe informações no console ou terminal. Ela aceita múltiplos argumentos, separadores e formatações de fim de linha:

# Script de Boas-Vindas - CAPACITAR CODEMAR
print("==========================================")
print("   SISTEMA DE CAPACITAÇÃO E AUTOMAÇÃO")
print("==========================================")
print("Status:", "Ambiente Python 3 Configurado!", sep=" ")
print("Bem-vindo(a) ao treinamento oficial CODEMAR.")

🎯 Desafio Prático da Aula 01

Abra seu ambiente Python ou Colab e crie um script chamado boas_vindas_codemar.py que imprima um cabeçalho formatado com o nome da sua diretoria, o ano atual e a mensagem: "Iniciando jornada de automação em Python!".

02
Variáveis, Tipos de Dados, Operadores e Entrada/Saída
50 min

🔢 Armazenando Dados em Memória (Variáveis)

Uma variável é um espaço na memória do computador nomeado para armazenar valores que podem ser lidos e alterados durante a execução do programa. Em Python, a alocação é dinâmica e não exige declaração explícita do tipo.

📦 Tipos de Dados Primitivos

  • str (String / Texto): Sequências de caracteres entre aspas simples ou duplas. Ex: nome = "Maricá"
  • int (Inteiro): Números inteiros sem casas decimais. Ex: colaboradores = 150
  • float (Ponto Flutuante): Números reais com casas decimais (utilizando ponto). Ex: orcamento = 4500.75
  • bool (Booleano): Valores lógicos True (Verdadeiro) ou False (Falso). Ex: ativo = True

➕ Operadores Aritméticos

Python suporta todas as operações matemáticas fundamentais com sintaxe intuitiva:

  • Adição (+) · Subtração (-) · Multiplicação (*) · Divisão real (/)
  • Divisão Inteira (//): Descarta as casas decimais. Ex: 10 // 3 resulta em 3
  • Módulo (%): Retorna o resto da divisão. Ex: 10 % 3 resulta em 1
  • Potenciação (**): Eleva a uma potência. Ex: 2 ** 3 resulta em 8

📥 Entrada de Dados (input) e Conversão de Tipos (Casting)

A função input() sempre captura o dado como texto (str). Para efetuar cálculos com valores digitados pelo usuário, é obrigatório realizar a conversão (casting):

# Captura de dados de projeto corporativo
nome_projeto = input("Digite o nome do projeto: ")
horas_estimadas = int(input("Digite as horas estimadas: "))
custo_hora = float(input("Digite o custo por hora (R$): "))

# Processamento
custo_total = horas_estimadas * custo_hora

# Exibição com f-String (interpolação moderna)
print(f"\n--- Resumo do Projeto: {nome_projeto} ---")
print(f"Custo Total Estimado: R$ {custo_total:,.2f}")

🎯 Desafio Prático da Aula 02

Desenvolva um programa que solicite a taxa de conclusão de 3 módulos de um curso e calcule a média aritmética final do aluno, exibindo o resultado formatado com 1 casa decimal.

03
Estruturas Condicionais (if, elif, else) e Operadores Lógicos
50 min

🔀 Tomada de Decisão no Código

As estruturas condicionais permitem que o programa tome caminhos de execução alternativos com base em condições lógicas que resultam em True ou False.

🔍 Operadores de Comparação

  • == Igual a | != Diferente de
  • > Maior que | < Menor que
  • >= Maior ou igual | <= Menor ou igual

🛡️ Operadores Lógicos

  • and (E): Retorna True apenas se TODAS as condições forem verdadeiras.
  • or (OU): Retorna True se pelo menos UMA das condições for verdadeira.
  • not (NÃO): Inverte o valor lógico da condição.

🏢 Exemplo Prático: Triagem de Elegibilidade para Capacitação

# Validador de Elegibilidade de Curso
horas_trabalhadas = 40
desempenho = 88.5
possui_pendencia = False

if desempenho >= 80.0 and not possui_pendencia:
    print("✅ Status: APROVADO para bolsa de capacitação avançada!")
elif desempenho >= 60.0 and not possui_pendencia:
    print("⚠️ Status: APROVADO para capacitação básica.")
else:
    print("❌ Status: ELEGIBILIDADE PENDENTE. Procure o RH.")

🎯 Desafio Prático da Aula 03

Escreva um script para a CODEMAR que solicite a nota da avaliação final de um colaborador (0 a 100). Se a nota for >= 70, exiba "Aprovado com Certificado". Se for entre 50 e 69, exiba "Recuperação Solicitada". Caso contrário, exiba "Reprovado - Refazer Curso".

04
Estruturas de Repetição (for e while) e Controle de Fluxo
55 min

🔄 Automatizando Tarefas Repetitivas (Loops)

Os laços de repetição evitam a duplicação de código ao executar blocos de instruções múltiplas vezes automaticamente.

1️⃣ Laço for e a Função range()

Utilizado quando se sabe previamente o número de repetições ou ao iterar sobre coleções de itens:

# Iterando com range(início, fim_exclusivo, passo)
print("Gerando protocolo de auditoria:")
for i in range(1, 6):
    print(f"  Item #{i} verificado com sucesso.")

2️⃣ Laço while (Repetição Condicional)

Executa enquanto uma condição for verdadeira. Requer cuidado com o incremento para evitar loops infinitos:

tentativas = 0
max_tentativas = 3

while tentativas < max_tentativas:
    senha = input("Digite a chave de segurança: ")
    if senha == "CODEMAR2026":
        print("🔓 Acesso liberado!")
        break
    tentativas += 1
    print(f"Senha incorreta! Tentativas restantes: {max_tentativas - tentativas}")

if tentativas == max_tentativas:
    print("🚨 Conta temporariamente bloqueada por segurança.")

🛑 Instruções de Controle: break e continue

  • break: Interrompe imediatamente a execução do laço.
  • continue: Pula a iteração atual e passa diretamente para a próxima.

🎯 Desafio Prático da Aula 04

Crie um loop for que percorra os números de 1 a 20 e imprima apenas os números pares, sinalizando aqueles que são múltiplos de 10 com a tag [MARCO ALCANÇADO].

05
Estruturas de Dados Avançadas: Listas, Tuplas e Dicionários
60 min

📦 Organizando Coleções Complexas de Dados

Em sistemas corporativos reais, raramente lidamos com dados isolados. O Python oferece estruturas integradas flexíveis e de alta performance.

1️⃣ Listas (list): Mutáveis e Ordenadas

Declaradas com colchetes []. Permitem adição, remoção e ordenação dinâmica:

diretorias = ["Presidência", "Planejamento", "Operações", "TI"]

# Métodos Principais de Listas
diretorias.append("Financeiro")      # Adiciona no final
diretorias.insert(1, "Jurídico")     # Insere em posição específica
diretorias.remove("Operações")       # Remove pelo valor
print(f"Total de diretoria cadastradas: {len(diretorias)}")
print(f"Primeira diretoria: {diretorias[0]}")

2️⃣ Tuplas (tuple): Imutáveis e Protegidas

Declaradas com parênteses (). Seus valores não podem ser alterados após a criação, garantindo integridade de parâmetros de configuração:

CONFIG_SERVIDOR = ("192.168.1.100", 8080, "PRODUCTION")
# CONFIG_SERVIDOR[0] = "10.0.0.1"  # Isso geraria um TypeError!

3️⃣ Dicionários (dict): Mapeamento Chave-Valor

Declarados com chaves {}. Permitem armazenar registros estruturados como em tabelas ou arquivos JSON:

colaborador = {
    "matricula": "COD-9842",
    "nome": "Mariana Oliveira",
    "cargo": "Analista de Projetos",
    "diretoria": "Planejamento",
    "cursos_concluidos": ["Excel", "Python", "Compliance"]
}

# Acessando e Modificando Dados
print(f"Colaborador: {colaborador['nome']} | Cargo: {colaborador.get('cargo')}")
colaborador["cursos_concluidos"].append("Licitações")
print(f"Cursos atualizados: {len(colaborador['cursos_concluidos'])}")

🎯 Desafio Prático da Aula 05

Crie uma lista contendo 3 dicionários, onde cada dicionário representa um curso (com as chaves titulo, carga_horaria e vagas). Escreva um laço for que exiba o título e a carga horária de todos os cursos com mais de 30 vagas.

06
Funções, Tratamento de Erros e Automação Prática Completa
60 min

⚙️ Modularização com Funções (def)

Funções são blocos de código reutilizáveis projetados para realizar uma tarefa específica. Elas eliminam repetições, facilitam a manutenção e tornam o código profissional.

Anatomia Completa de uma Função Profissional

def analisar_desempenho(notas, pesos=None):
    """
    Calcula a média ponderada de notas de avaliações.
    :param notas: lista de números float
    :param pesos: lista opcional de pesos para cada nota
    :return: dict com a média calculada e status do aluno
    """
    if not notas:
        return {"erro": "Lista de notas vazia"}
    
    if pesos and len(pesos) == len(notas):
        media = sum(n * p for n, p in zip(notas, pesos)) / sum(pesos)
    else:
        media = sum(notas) / len(notas)
        
    status = "Aprovado" if media >= 70.0 else "Em Avaliação"
    return {"media": round(media, 2), "status": status}

🛡️ Tratamento de Exceções (try...except...finally)

Evite que seu script quebre abruptamente ao lidar com entradas inválidas ou falhas de sistema:

try:
    divisao = 100 / int(input("Digite o divisor: "))
    print(f"Resultado: {divisao}")
except ZeroDivisionError:
    print("❌ Erro: Não é possível dividir por zero!")
except ValueError:
    print("❌ Erro: Por favor, digite um número inteiro válido.")
finally:
    print("ℹ️ Operação de cálculo finalizada.")

🚀 Projeto Integrador: Script Completo de Automação Corporativa

Abaixo temos um script prático completo que consolida todos os conceitos do curso em uma automação útil do dia a dia:

# Script de Processamento de Indicadores de Capacitação - CODEMAR

def gerar_relatorio_diretoria(nome_diretoria, dados_alunos):
    print(f"\n==========================================")
    print(f"📊 RELATÓRIO DE CAPACITAÇÃO - {nome_diretoria.upper()}")
    print(f"==========================================")
    
    total_alunos = len(dados_alunos)
    aprovados = 0
    soma_notas = 0
    
    for aluno in dados_alunos:
        nota = aluno.get("nota", 0)
        soma_notas += nota
        if nota >= 70:
            aprovados += 1
            status_symbol = "✅"
        else:
            status_symbol = "⚠️"
        print(f"{status_symbol} {aluno['nome']} - Nota: {nota}")
        
    media_geral = soma_notas / total_alunos if total_alunos > 0 else 0
    taxa_aprovacao = (aprovados / total_alunos) * 100 if total_alunos > 0 else 0
    
    print("\n--- RESUMO CONSOLIDADO ---")
    print(f"Total de Alunos: {total_alunos}")
    print(f"Média Geral da Diretoria: {media_geral:.1f}")
    print(f"Taxa de Aprovação: {taxa_aprovacao:.1f}%")
    print("==========================================\n")

# Dados de teste para execução
equipe_ti = [
    {"nome": "Carlos Andrade", "nota": 85.0},
    {"nome": "Ana Souza", "nota": 92.5},
    {"nome": "Bruno Lima", "nota": 65.0},
    {"nome": "Fernanda Costa", "nota": 78.0}
]

# Execução da automação
gerar_relatorio_diretoria("Diretoria de Tecnologia", equipe_ti)

🎯 Desafio Prático da Aula 06 (Final)

Modifique a função gerar_relatorio_diretoria acima para incluir o cálculo da maior e da menor nota da turma utilizando as funções nativas max() e min(), tratando potenciais erros de dados com um bloco try/except.

Avaliação Final de Python

Responda 15 questões técnicas sobre sintaxe, estruturas e automação com Python.
Você precisa de 70% de acertos para emitir seu certificado.

Questão 1 de 15
Sua pontuação