Introdução à Programação com Python
Ideal para quem quer dar os primeiros passos no mundo da programação. Este curso focaria
em Python, uma linguagem versátil e popular, ensinando os conceitos básicos de lógica de
programação, variáveis, estruturas de controle e funções, com exercícios práticos para fixar o
aprendizado.
Curso 4: Introdução à Programação com Python
Este curso é a sua porta de entrada para o fascinante mundo da programação, utilizando uma
das linguagens mais populares e versáteis da atualidade: Python. Se você nunca programou
antes, não se preocupe! Este material foi cuidadosamente elaborado para te guiar do absoluto
zero, desmistificando a lógica de programação e mostrando como a programação pode ser uma
ferramenta poderosa para resolver problemas e dar vida às suas ideias. Prepare-se para pensar
de uma nova forma e construir seus primeiros códigos.
Capítulo 1: Pensamento Computacional e Primeiros Passos em Programação
Neste capítulo inicial, você não vai apenas aprender a programar, mas a pensar como um
programador. O foco é desenvolver o pensamento computacional, uma habilidade essencial
para a resolução de problemas de forma estruturada e lógica, que é a base de toda a
programação.
Abordaremos:
• O que é Programação? Uma definição clara e prática, explicando que programar é dar
instruções a um computador para que ele realize tarefas específicas.
• A lógica por trás do código: Entender como os computadores "pensam" e executam
comandos sequencialmente.
• Algoritmos: Receitas para o computador: O conceito de algoritmo como uma
sequência finita e bem definida de passos para resolver um problema. Usaremos
exemplos do dia a dia (como uma receita de bolo) para ilustrar a criação de algoritmos.
• Por que aprender Python? As vantagens de Python para iniciantes: sua sintaxe simples
e legível, sua vasta comunidade e sua aplicabilidade em diversas áreas (web, IA, ciência
de dados, automação).
• Configurando seu ambiente: Passos simples para instalar Python e uma ferramenta de
desenvolvimento (IDE ou editor de texto como VS Code ou Google Colab) para você
começar a escrever seus primeiros códigos.
• Seu primeiro programa: "Olá, Mundo!": Escrever e executar o clássico "Hello World!",
celebrando seu primeiro contato com o código.
Ao final deste capítulo, você terá uma compreensão fundamental do que é programar e estará
pronto para mergulhar na sintaxe de Python.
Capítulo 2: Variáveis e Tipos de Dados: Guardando Informações no Código
Para que um programa possa manipular informações, ele precisa de lugares para armazená-las.
Neste capítulo, você aprenderá sobre variáveis e os tipos de dados básicos em Python, que são
os blocos construtivos para lidar com diferentes tipos de informação.
Exploraremos:
• O que são variáveis? Pense nelas como caixas ou rótulos para guardar valores na
memória do computador. Como declarar e atribuir valores a variáveis em Python.
• Tipos de Dados Essenciais:
o Números:
▪ Inteiros (int): Números sem casas decimais (ex: 10, -5, 0).
▪ Decimais/Flutuantes (float): Números com casas decimais (ex: 3.14, -
0.5, 2.0).
o Textos (str): Sequências de caracteres, usadas para armazenar palavras, frases
e sentenças. Como criar e manipular strings (concatenação, f-strings).
o Booleanos (bool): Valores lógicos que representam verdadeiro (True) ou falso
(False), fundamentais para decisões em programas.
• Operadores Básicos:
o Aritméticos: Soma (+), Subtração (-), Multiplicação (*), Divisão (/), Divisão
Inteira (//), Módulo (%), Potência (**).
o Atribuição: Como atribuir valores a variáveis (=, +=, -=, etc.).
o Comparação: Usados para comparar valores (==, !=, >, <, >=, <=), resultando
em booleanos.
• Entrada e Saída de Dados: Como interagir com o usuário, recebendo informações (com
input()) e exibindo resultados (com print()).
Com este capítulo, você terá as ferramentas para representar e manipular diferentes tipos de
dados em seus programas Python.
Capítulo 3: Estruturas de Controle: Tomando Decisões e Repetições
Um programa não seria muito útil se apenas executasse comandos em sequência. Neste
capítulo, você aprenderá a dar ao seu código a capacidade de tomar decisões e repetir tarefas,
tornando-o mais dinâmico e inteligente.
Abordaremos:
• Condicionais (if, elif, else):
o Como usar a estrutura if para executar um bloco de código apenas se uma
condição for verdadeira.
o Adicionando elif (else if) para testar múltiplas condições.
o Utilizando else para definir um bloco de código a ser executado caso nenhuma
das condições anteriores seja verdadeira.
o Operadores Lógicos (and, or, not): Combinando múltiplas condições para criar
lógicas mais complexas.
• Laços de Repetição (Loops):
o for loop: Iterando sobre sequências de itens (como listas ou cadeias de texto).
Perfeito para quando você sabe quantas vezes quer repetir algo.
o while loop: Repetindo um bloco de código enquanto uma condição for
verdadeira. Útil quando o número de repetições é incerto.
o break e continue: Comandos para controlar o fluxo dos loops, permitindo sair
de um loop ou pular uma iteração específica.
Com essas estruturas, seus programas ganharão a capacidade de reagir a diferentes situações e
automatizar tarefas repetitivas de forma eficiente.
Capítulo 4: Estruturas de Dados Essenciais: Listas, Tuplas, Dicionários e Conjuntos
Programas frequentemente precisam lidar com coleções de dados, não apenas com valores
isolados. Neste capítulo, você aprenderá sobre as estruturas de dados mais importantes em
Python, que permitem organizar e manipular conjuntos de informações de forma eficiente.
Exploraremos:
• Listas (list):
o Coleções ordenadas e mutáveis de itens. Como criar, acessar, adicionar,
remover e modificar elementos em uma lista.
o Métodos comuns de lista (append, remove, pop, sort).
• Tuplas (tuple):
o Coleções ordenadas e imutáveis de itens. Quando usar tuplas em vez de listas
(para dados que não devem ser alterados).
• Dicionários (dict):
o Coleções não ordenadas de pares chave-valor. Como um dicionário associa
uma chave única a um valor, perfeito para representar dados com rótulos (ex:
informações de um usuário: nome, idade, email).
o Como criar, acessar, adicionar e modificar elementos em um dicionário.
• Conjuntos (set):
o Coleções não ordenadas de itens únicos. Úteis para operações matemáticas de
conjuntos (união, interseção) e para remover duplicatas de uma lista.
• Escolhendo a estrutura de dados correta: Quando usar cada tipo de estrutura com
base nas necessidades do seu programa.
Dominar essas estruturas de dados é crucial para lidar com informações de forma organizada e
eficiente, preparando você para projetos mais complexos.
Capítulo 5: Funções: Organizando e Reutilizando Código
À medida que seus programas crescem, eles podem se tornar difíceis de ler e manter. Neste
capítulo, você aprenderá a usar funções para organizar seu código em blocos reutilizáveis,
tornando-o mais limpo, modular e fácil de entender.
Abordaremos:
• O que são funções? Uma função é um bloco de código nomeado que executa uma
tarefa específica. Pense nelas como pequenas "máquinas" que recebem entradas
(argumentos), processam e podem retornar saídas.
• Definindo funções: A sintaxe para criar suas próprias funções em Python usando a
palavra-chave def.
• Argumentos e Parâmetros: Como passar informações para uma função e como a
função recebe e utiliza essas informações.
• Retorno de Valores: Como uma função pode devolver um resultado usando a palavra-
chave return.
• Escopo de Variáveis: A diferença entre variáveis locais (definidas dentro de uma
função) e variáveis globais (definidas fora de qualquer função) e como elas se
comportam.
• Funções Built-in (Embutidas): Revisar e entender algumas das funções já prontas em
Python (como print(), input(), len(), type()).
• Modularização do código: Como as funções ajudam a dividir um problema grande em
partes menores e mais gerenciáveis, facilitando o desenvolvimento e a depuração.
Com as funções, você será capaz de escrever códigos mais organizados, eficientes e que podem
ser facilmente reutilizados em diferentes partes do seu programa ou em outros projetos.
Capítulo 6: Lidando com Erros (Exceções) e Projetos Práticos
A programação é uma jornada de aprendizado contínuo, e lidar com erros é uma parte
inevitável desse processo. Neste capítulo final, você aprenderá a identificar e tratar erros
(exceções) em seus programas, tornando-os mais robustos e amigáveis ao usuário. Além disso,
aplicaremos todo o conhecimento adquirido em projetos práticos para consolidar seu
aprendizado.
Abordaremos:
• Tipos de Erros em Python:
o Erros de Sintaxe: Erros que impedem o programa de ser executado devido a
violações das regras da linguagem.
o Erros Lógicos: O programa executa, mas não faz o que deveria, devido a falhas
na lógica do algoritmo.
o Exceções (Erros em Tempo de Execução): Erros que ocorrem enquanto o
programa está rodando (ex: dividir por zero, tentar acessar um índice
inexistente em uma lista).
• Tratamento de Exceções (try, except, finally):
o Como usar o bloco try para envolver o código que pode gerar um erro.
o Como usar o bloco except para "capturar" e lidar com tipos específicos de
erros, evitando que o programa trave.
o Opcionalmente, o bloco finally para código que sempre deve ser executado,
independentemente de um erro ocorrer ou não.
• Depuração Básica: Técnicas para encontrar e corrigir erros em seu código.
• Projetos Práticos (Mão na Massa):
o Criar um "Jogo da Adivinhação": Um programa que gera um número aleatório
e pede para o usuário adivinhar, dando dicas.
o Desenvolver uma "Calculadora Simples": Um programa que realiza operações
aritméticas básicas com base na entrada do usuário.
o Construir um "Gerenciador de Tarefas Simples": Um programa que permite
adicionar, remover e listar tarefas.
• Próximos Passos na Jornada da Programação: Onde buscar mais conhecimento,
comunidades online e como continuar aprimorando suas habilidades.
Ao final deste curso, você não apenas terá uma base sólida em programação com Python, mas
também a confiança para resolver problemas, criar seus próprios projetos e continuar sua
jornada no vasto e empolgante mundo da tecnologia. A prática constante é a chave, e agora
você tem as ferramentas para começar!