Capítulo 07: Tuplas e Conjuntos 🐺⚔️
Neste capítulo, vamos aprender sobre as Tuplas (coleções imutáveis) e os Conjuntos (coleções sem duplicatas), com o tema The Witcher!
📖 O que são Tuplas e Conjuntos?
- Tupla: É uma lista que não pode ser alterada depois de criada (imutável). É definida usando parênteses
(). - Conjunto (Set): É uma coleção não ordenada e sem elementos duplicados. É definido usando chaves
{}.
Veja a diferença visual entre eles:
graph TD subgraph "Tupla: Coordenadas (Imutavel)" A["(51.5074, -0.1278)"] end subgraph "Conjunto: Ingredientes (Sem Duplicatas)" B["{'Flor de Espinho', 'Álcool Alquímico'}"] end
📖 Exemplo Guiado: Ingredientes de Poção
Vamos criar um conjunto de ingredientes necessários para uma poção. Conjuntos são ótimos para garantir que não temos itens repetidos.
- Crie o arquivo
ingredientes_pocao.pyna pastasrc/:
# Criando um conjunto (set)
ingredientes = {"Flor de Espinho", "Cérebro de Afogador", "Álcool Alquímico"}
print("Ingredientes necessários:", ingredientes)
# Tentando adicionar um ingrediente repetido
ingredientes.add("Flor de Espinho")
print("Após tentar adicionar repetido:", ingredientes)
# Criando uma tupla (imutável)
coordenadas_monstro = (51.5074, -0.1278)
print("Localização do monstro (Latitude, Longitude):", coordenadas_monstro)🕹️ Como Executar e Testar no VS Code
- Abra o arquivo
ingredientes_pocao.py. - Clique no botão Run Python File.
Resultado Esperado:
Ingredientes necessários: {'Flor de Espinho', 'Álcool Alquímico', 'Cérebro de Afogador'}
Após tentar adicionar repetido: {'Flor de Espinho', 'Álcool Alquímico', 'Cérebro de Afogador'}
Localização do monstro (Latitude, Longitude): (51.5074, -0.1278)(Nota: A ordem dos itens no conjunto pode variar)
🛠️ Prática Obrigatória 1: Bolsa de Alquimia
Crie um programa chamado bolsa_alquimia.py que tenha uma lista de ingredientes coletados pelo bruxo (alguns repetidos). Converta essa lista em um conjunto para remover as duplicatas e exiba quantos ingredientes únicos o bruxo possui.
🛠️ Prática Obrigatória 2: Dados Imutáveis do Bruxo
Crie um programa chamado dados_bruxo.py que armazene o nome do bruxo, sua escola (Lobo, Gato, Urso) e seu ano de treinamento em uma Tupla. Tente alterar a escola do bruxo no código e veja o erro que acontece! (Comente a linha do erro depois para o código rodar).
🔑 Gabarito de Código
Prática 1: bolsa_alquimia.py
lista_coleta = ["Erva", "Dente de Monstro", "Erva", "Água", "Dente de Monstro"]
print("Lista de coleta:", lista_coleta)
# Convertendo para conjunto
ingredientes_unicos = set(lista_coleta)
print("Ingredientes únicos:", ingredientes_unicos)
print("Total de itens únicos:", len(ingredientes_unicos))Prática 2: dados_bruxo.py
dados = ("Geralt", "Lobo", 1234)
print("Dados do Bruxo:", dados)
# Tentativa de alteração (vai gerar erro)
# dados[1] = "Gato" # TypeError: 'tuple' object does not support item assignment📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)
(Siga o mesmo padrão do Capítulo 01)