Manipulando sets no Python
Sets (conjuntos) são uma estrutura de dados fundamental em Python que armazenam coleções não ordenadas, mutáveis e de elementos únicos. Eles são especialmente úteis para operações matemáticas como uniões, interseções e diferenças, além de serem altamente eficientes para verificar a existência de elementos. Neste guia completo, vamos explorar tudo o que você precisa saber sobre sets em Python.
QUESTÃO 1- Maria precisa identificar quais produtos únicos existem no estoque da sua loja, ignorando códigos repetidos acidentalmente.
Regras:
Receber códigos de produtos digitados pelo funcionário
Remover automaticamente códigos repetidos
Exibir a lista de modelos únicos disponíveis
Passos:
Criar um input para receber os códigos separados por espaço
Converter a lista de códigos em um set para remover duplicatas
Exibir os códigos únicos no formato solicitado
Exemplo:
Digite os códigos dos fones: A100 A101 A100 B200 B200 A101
Modelos disponíveis: {'A100', 'A101', 'B200'}
Resposta:
def main():
codigos = input("Digite os códigos dos fones (ex: A100 A101 B200): ").split()
modelos_unicos = set(codigos)
print("Modelos disponíveis:", modelos_unicos)
if __name__ == "__main__":
main()
QUESTÃO 2- A coordenação da faculdade precisa identificar disciplinas em comum entre alunos para formar grupos de estudo eficientes.
Regras:
Receber disciplinas do Aluno 1 (separadas por vírgula)
Receber disciplinas do Aluno 2 (separadas por vírgula)
Mostrar apenas disciplinas cursadas por ambos
Passos:
Coletar disciplinas de cada aluno usando input()
Converter para sets e calcular a interseção
Exibir o resultado conforme formato especificado
Exemplo:
Disciplinas do Aluno 1: Cálculo,Física,Programação
Disciplinas do Aluno 2: Química,Programação,Física
Disciplinas compartilhadas: {'Física', 'Programação'}
Resposta:
def main():
aluno1 = set(input("Disciplinas do Aluno 1 (ex: Cálculo,Física): ").split(","))
aluno2 = set(input("Disciplinas do Aluno 2 (ex: Física,Química): ").split(","))
em_comum = aluno1 & aluno2
print("Disciplinas compartilhadas:", em_comum)
if __name__ == "__main__":
main()
QUESTÃO 3- O RH de uma startup tech precisa verificar rapidamente se candidatos possuem todas as habilidades obrigatórias para uma vaga de programador.
Regras:
Receber habilidades requeridas (separadas por /)
Receber habilidades do candidato (separadas por /)
Retornar True/False se atende todos os requisitos
Passos:
Coletar habilidades da vaga e do candidato
Verificar se todos os requisitos estão contidos nas habilidades do candidato
Exibir o resultado no formato exato
Exemplo:
Requisitos: Python/SQL/Inglês
Habilidades: Python/Excel/Inglês
Candidato qualificado? False
Resposta:
def main():
vaga = set(input("Requisitos (ex: Python/SQL/Inglês): ").split("/"))
candidato = set(input("Habilidades (ex: Python/Excel): ").split("/"))
apto = vaga.issubset(candidato)
print("Candidato qualificado?", apto)
if __name__ == "__main__":
main()
QUESTÃO 4- O time de TI precisa identificar permissões exclusivas de administradores em relação a usuários comuns para auditoria de segurança.
Regras:
Receber permissões de usuários comuns (separadas por |)
Receber permissões de administradores (separadas por |)
Mostrar permissões que são exclusivas de cada grupo
Passos:
Coletar ambos conjuntos de permissões
Calcular a diferença simétrica entre eles
Exibir o resultado conforme especificado
Exemplo:
Permissões usuários: visualizar|exportar
Permissões admin: visualizar|deletar|configurar
Permissões exclusivas: {'exportar', 'deletar', 'configurar'}
Resposta:
def main():
comum = set(input("Permissões usuários (ex: visualizar|exportar): ").split("|"))
admin = set(input("Permissões admin (ex: deletar|configurar): ").split("|"))
exclusivas = comum ^ admin
print("Permissões exclusivas:", exclusivas)
if __name__ == "__main__":
main()
QUESTÃO 5- Na fusão dos departamentos de Marketing e Vendas, a empresa precisa mapear todas as habilidades disponíveis na nova equipe combinada.
Regras:
Receber habilidades do time de Marketing (separadas por -)
Receber habilidades do time de Vendas (separadas por -)
Mostrar todas as habilidades sem repetição
Passos:
Coletar habilidades de cada equipe
Unir ambos conjuntos
Exibir o resultado final
Exemplo:
Habilidades Marketing: Design-Mídias-SEO
Habilidades Vendas: Negociação-Mídias-CRM
Habilidades integradas: {'Design', 'Mídias', 'SEO', 'Negociação', 'CRM'}
Resposta:
def main():
marketing = set(input("Habilidades Marketing (ex: Design-Mídias): ").split("-"))
vendas = set(input("Habilidades Vendas (ex: Negociação-Mídias): ").split("-"))
combinadas = marketing | vendas
print("Habilidades integradas:", combinadas)
if __name__ == "__main__":
main()
Caso o Python ainda não esteja instalado em seu dispositivo, clique no botão abaixo para realizar a instalação.