{"id":18255069,"url":"https://github.com/vicktorms/tp1_python_para_dados","last_synced_at":"2025-04-08T21:49:21.897Z","repository":{"id":260543223,"uuid":"881598341","full_name":"VicktorMS/tp1_python_para_dados","owner":"VicktorMS","description":null,"archived":false,"fork":false,"pushed_at":"2024-11-02T01:05:26.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-14T17:19:05.504Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VicktorMS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-31T22:21:02.000Z","updated_at":"2024-11-02T01:05:30.000Z","dependencies_parsed_at":"2024-10-31T23:25:08.280Z","dependency_job_id":"225be0af-c875-4148-aefe-89121f97863d","html_url":"https://github.com/VicktorMS/tp1_python_para_dados","commit_stats":null,"previous_names":["vicktorms/tp1_python_para_dados"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VicktorMS%2Ftp1_python_para_dados","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VicktorMS%2Ftp1_python_para_dados/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VicktorMS%2Ftp1_python_para_dados/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VicktorMS%2Ftp1_python_para_dados/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VicktorMS","download_url":"https://codeload.github.com/VicktorMS/tp1_python_para_dados/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247934808,"owners_count":21020724,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T10:14:34.782Z","updated_at":"2025-04-08T21:49:21.882Z","avatar_url":"https://github.com/VicktorMS.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\n1 Aquecendo os motores ⭐\n\nCrie uma lista chamada ‘usuarios’ que contenha ao menos 5 listas. Cada lista interna deve representar um usuário do INFwebNET com as seguintes informações: nome (string), idade (inteiro), cidade (string) e estado (string).\n\n2 Perfil ⭐⭐\n\nEscreva um programa que leia os dados da lista ‘usuarios’ criada no exercício anterior e crie um dicionário para cada usuário. Cada dicionário deve ter as chaves \"nome\" e \"idade\" com os respectivos valores, e a chave \"localização\" contendo uma tupla (cidade, estado). Armazene esses dicionários em uma nova lista chamada perfis.\n\n3 Comparando Estruturas ⭐⭐⭐\n\nExplique, em poucas palavras, as principais diferenças entre uma lista, um dicionário e uma tupla em Python. Dê exemplos de como cada estrutura pode ser usada no contexto da análise de dados do INFwebNET.\n\n4 Limpando o terreno ⭐⭐\n\nAlguns usuários do INFwebNET forneceram informações incompletas. Remova da lista perfis todos os perfis que não possuem as informações de \"nome\" ou \"cidade\". Mantenha a lista perfis original intacta, criando uma nova lista chamada perfis_validos para armazenar os perfis válidos.\n\n5 Carregando dados ⭐⭐⭐\n\nCrie uma implementação que leia os dados presentes no arquivo \"base_inicial.txt\" e os armazene na lista perfis_validos, criando novas palavras-chave para os dados adicionais encontrados. (O arquivo está disponível no repositório.)\n\n6 Concatenando dados ⭐\n\nCom os dados carregados no exercício anterior, adicione os usuários dos exercícios 1 e 2, definindo um padrão para lidar com os dados ausentes e salve estas informações em um arquivo \"rede_INFNET.txt\".\n\n7 Adicionando Amigos ⭐\n\nCom o dicionário criado no exercício anterior, adicione um novo amigo ao set de amigos de um usuário específico.\n\n8 Verificando Conexões ⭐⭐\n\nCrie um programa que permita verificar se um determinado usuário foi adicionado como amigo de mais de 4 usuários. Caso tenha, exiba uma mensagem afirmando que o usuário é \"popular\".\n\n9 Amigos em Comum ⭐⭐\n\nCrie um programa que selecione dois perfis aleatórios e utilize sets para armazenar os amigos de cada um desses usuários do INFwebNET. Exiba os amigos em comum entre esses dois usuários, utilizando métodos e operação de sets.\n\n10 Conexões Exclusivas ⭐⭐\n\nUtilizando os sets do exercício anterior, exiba os amigos que são exclusivos de cada usuário, ou seja, aqueles que não são amigos em comum.\n\n11 Removendo Conexões ⭐⭐\n\nPermita que o usuário remova um amigo da lista de conexões de um membro do INFwebNET específico no dicionário criado no exercício 4.\n\n12 Salvando o Progresso ⭐⭐\n\nApós adicionar ou remover amigos, salve o dicionário atualizado em um novo arquivo chamado \"rede_INFNET_atualizado.txt\".\n\n13 Listando Usuários ⭐\n\nEscreva um programa que leia o arquivo \"rede_INFNET.txt\" e imprima na tela a lista dos nomes de todos os usuários da rede social.\n\n14 Quantidade de Amigos ⭐⭐\n\nCrie uma função que leia o arquivo \"rede_INFNET.txt\" e mostre quantos amigos cada usuário possui, imprimindo o nome do usuário e a quantidade de amigos.\n\n15 Usuários Mais Populares ⭐⭐⭐\n\nAnalise o arquivo \"rede_INFNET_atualizado.txt\" e identifique os 5 usuários que foram marcados como amigos pelo maior número de usuários cadastrados. Exiba o nome desses usuários e a quantidade de amigos que cada um possui.\n\n16 Lidando com arquivos ⭐⭐\n\nExplique com suas palavras a importância de utilizar o recurso ‘with’ ao lidar com arquivos em Python.\n\nA entrega deste TP pode ser feita com envio de todos os arquivos utilizados na solução compactados em um arquivo zip submetido na plataforma Moodle e realizando o commit e push no repositório criado para este fim.\n\nAssim que terminar, salve seu trabalho em zip nomeando o arquivo conforme a regra “nome_sobrenome_DR4_TP1.ZIP” e poste como resposta a este TP.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvicktorms%2Ftp1_python_para_dados","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvicktorms%2Ftp1_python_para_dados","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvicktorms%2Ftp1_python_para_dados/lists"}