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.

  1. Crie o arquivo ingredientes_pocao.py na pasta src/:
# 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

  1. Abra o arquivo ingredientes_pocao.py.
  2. 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)


Capitulo Anterior | Proximo Capitulo