Skip to main content

Console

  • Console

1. Sintaxe Básica do Python

1.1 Variáveis e Tipos de Dados

Em Python, você pode declarar variáveis sem especificar o tipo. Python faz isso automaticamente.

# Variáveis
x = 5 # Inteiro
y = 3.14 # Flutuante
nome = "Alice" # String
verdade = True # Booleano

# Exibindo os valores
print(x, y, nome, verdade)

1.2 Estruturas de Controle

If-else (Decisões)

Use if, elif e else para verificar condições.

x = 10
if x > 5:
print("x é maior que 5")
elif x == 5:
print("x é igual a 5")
else:
print("x é menor que 5")
Laços de Repetição (Loops)
  1. For Loop: Itera sobre sequências (listas, strings, etc.).
for i in range(5):  # Itera de 0 a 4
print(i)
  1. While Loop: Continua executando enquanto a condição for verdadeira.
x = 5
while x > 0:
print(x)
x -= 1 # Decrementa x

1.3 Funções

Funções permitem encapsular lógica para reutilização. Elas são definidas com def.

def soma(a, b):
return a + b

resultado = soma(3, 4)
print(resultado) # Saída: 7

1.4 Estruturas de Dados

Listas

Listas são coleções mutáveis (você pode alterar os elementos).

lista = [1, 2, 3, 4, 5]
print(lista[0]) # Acessa o primeiro elemento

lista.append(6) # Adiciona um elemento ao final
print(lista)
Tuplas

Tuplas são imutáveis (não podem ser alteradas).

tupla = (10, 20, 30)
print(tupla[1]) # Acessa o segundo elemento
Dicionários

Dicionários armazenam pares chave-valor.

dicionario = {'nome': 'Alice', 'idade': 25}
print(dicionario['nome']) # Acessa o valor associado à chave 'nome'
Sets (Conjuntos)

Sets são coleções não ordenadas e sem duplicatas.

conjunto = {1, 2, 3, 2}
print(conjunto) # Saída: {1, 2, 3} (sem duplicatas)

1.5 Compreensão de Listas

Forma compacta de criar listas.

quadrados = [x * x for x in range(5)]
print(quadrados) # Saída: [0, 1, 4, 9, 16]

1.6 Importação de Módulos

Você pode importar bibliotecas para usar funções extras.

import math
print(math.sqrt(16)) # Saída: 4.0

2. Tópicos para Estudar Depois da Sintaxe Básica

2.1 Estruturas de Dados e Algoritmos

Listas e Manipulações

As listas são uma das estruturas de dados mais comuns. Você deve aprender a fazer inserções, remoções e manipulações como slicing.

lista = [10, 20, 30, 40]
lista.append(50) # Adiciona ao final
print(lista[1:3]) # Slice: elementos de índice 1 a 2
lista.remove(20) # Remove o valor 20 da lista
print(lista)
Conjuntos e Dicionários

Essas estruturas são usadas frequentemente para buscas rápidas.

# Conjuntos
conjunto = {1, 2, 3}
conjunto.add(4)
print(conjunto)

# Dicionários
dicionario = {'a': 1, 'b': 2}
print(dicionario['a'])
Filas e Pilhas

Você pode usar listas para implementar essas estruturas.

# Pilha (LIFO)
pilha = []
pilha.append(1) # Empilhar
pilha.append(2)
pilha.pop() # Desempilhar

# Fila (FIFO)
from collections import deque
fila = deque([1, 2, 3])
fila.append(4) # Adicionar à fila
fila.popleft() # Remover da fila
Árvores e Grafos

Estude árvores (binárias, AVL) e grafos. Travessias importantes:

  1. Busca em Largura (BFS).
  2. Busca em Profundidade (DFS).

Exemplo de travessia em árvore binária (em Python, árvores precisam ser implementadas manualmente ou com bibliotecas).

2.2 Algoritmos

Ordenação

Aprenda algoritmos como QuickSort, MergeSort, e métodos de busca binária.

# Ordenação em Python
lista = [3, 1, 4, 1, 5, 9]
lista_ordenada = sorted(lista)
print(lista_ordenada) # Saída: [1, 1, 3, 4, 5, 9]
Recursão

Recursão é uma função que chama a si mesma. Exemplo clássico de fatoriais:

def fatorial(n):
if n == 1:
return 1
return n * fatorial(n - 1)

print(fatorial(5)) # Saída: 120
Programação Dinâmica

Programação dinâmica é usada para resolver problemas dividindo-os em subproblemas menores. Exemplo de Fibonacci usando memoização:

def fibonacci(n, memo={}):
if n in memo:
return memo[n]
if n <= 2:
return 1
memo[n] = fibonacci(n-1, memo) + fibonacci(n-2, memo)
return memo[n]

print(fibonacci(10)) # Saída: 55

2.3 Complexidade de Tempo e Espaço

Estude as notações O(n), O(log n) para entender a eficiência dos algoritmos.