S05 - Atividade Guiada de Programação: Arquivos CSV
Visão Geral
Para esta atividade, você criará código junto com um vídeo do instrutor que terá orientações para cada etapa da atividade abaixo. Não se esqueça de pausar o vídeo ou assistir a algumas seções, se necessário, para conseguir concluir a atividade inteira.
Seu instrutor publicará um link para o vídeo no Microsoft Teams.
Contexto
Uma tarefa comum para muitas pessoas que trabalham com informações é usar um número, chave ou identificação para encontrar informações sobre uma pessoa. Por exemplo, uma pessoa pode usar um número de telefone ou endereço de e-mail como uma chave para encontrar (ou pesquisar) informações adicionais sobre um cliente. Durante esta atividade, você escreverá um programa em Python que usa o número de identificação (ID) de um estudante para pesquisar o nome dele.
Programa
Este programa lerá dados de um arquivo separado por vírgulas (csv) com informações de estudantes em um dicionário. O dicionário será então usado para procurar informações do estudante pelo número de identificação, que chamaremos de ID.
Requisitos
Seu programa deve fazer o seguinte:
-
Abrir o arquivo
estudantes.csvpara leitura, pular a primeira linha do arquivo pois ela contém apenas os cabeçalhos das colunas e ler as demais linhas do arquivo em um dicionário. O programa deve armazenar cada ID do estudante como uma chave e, como valor, o nome correspondente. -
Solicitar ao usuário um número de identificação, usar esse número para localizar o nome do aluno no dicionário e exibir o nome.
-
Se um usuário digitar um número de identificação que não existe no dicionário, seu programa deverá exibir a mensagem: Estudante inexistente.
Desafios Adicionais
Abaixo está uma lista de desafios adicionais que você pode fazer. Seu instrutor lhe guiará por pelo menos um deles. Fique à vontade para realizar os demais.
-
Adicione código para remover traços do número de identificação inserido pelo usuário. Isso permitirá que o usuário informe o ID com ou sem traços e o programa ainda consiga procurá-lo no dicionário.
-
Quando um usuário digitar um número de identificação, seu programa deve garantir que seja um número de identificação válido.
-
Se houver poucos dígitos no número de identificação, exiba:
Número de identificação inválido: dígitos insuficientes. -
Se houver muitos dígitos no número de identificação, exiba:
Número de identificação inválido: ultrapassa o limite de dígitos -
Se o número de identificação fornecido contiver outros caracteres além de dígitos e traços, seu programa deverá exibir:
Número de identificação inválido.
-
-
Adicione ou altere algo no seu programa que você acha que o tornaria melhor, mais fácil para o usuário, mais elegante ou mais divertido. Seja criativo.
Instruções
- Crie uma pasta para armazenar o programa da Atividade Guiada de Programação desta semana.
- Baixe o arquivo
estudantes.csve salve-o na pasta que você acabou de criar. - Abra a pasta que criou no VSCode.
- Crie um arquivo chamado estudantes.py.
- Encontre o vídeo que seu instrutor publicou para esta tarefa e crie o código junto com ele para concluir cada um dos requisitos. Analise os requisitos na ordem apresentada pelo instrutor em vez de pular para etapas mais complicadas para garantir que você não perca nenhuma explicação.
Link de Vídeo Alternativo
Além do link que seu instrutor publicou, você também pode assistir ao seguinte passo a passo do código:
Recursos Adicionais
Você pode usar esses recursos adicionais para se aprofundar nos estudos.
Exemplo de Solução
Além do vídeo do instrutor, você também pode visualizar esta solução. (Ela pode ser um pouco diferente do código final que você e seu instrutor criaram.)
Documentação Útil
-
O artigo Leitura de Arquivos de Texto explica como configurar o VS Code para que seu programa Python possa ler um arquivo de texto.
-
O conteúdo de preparação desta aula inclui uma seção sobre como ler um arquivo CSV em um dicionário composto.
-
O conteúdo de preparação da semana 4 explica como usar dicionários.
-
Seu programa pode chamar o método replace para substituir todas as ocorrências de um caractere por outro caractere ou para remover todas as ocorrências de um caractere substituindo-as pela string vazia ("").
Procedimento de Teste
Verifique se seu programa funciona corretamente seguindo cada etapa deste procedimento de teste:
-
Baixe o arquivo Python
test_estudantes.pye salve-o na mesma pasta onde você salvou seu programaestudantes.py. Execute o arquivotest_estudantes.pye certifique-se de que a funçãotest_.leitura_do_dicionarioseja aprovada. Se não passar, há um erro na sua funçãoler_dicionario. Leia a saída depytest, corrija o erro e execute o arquivotest_estudantes.pynovamente até que a função de teste seja aprovada.> python test_estudantes.py ========================== test session starts =========================== platform win32 -- Python 3.13.4, pytest-8.4.1, pluggy-1.6.0 -- cachedir: .pytest_cache rootdir: C:\Users\cse111\week05 collected 1 item test_estudantes.py::test_ler_dicionario PASSED [100%] ===================== 1 passed in 0.12s ======================
-
Execute seu programa e digite as entradas mostradas abaixo. Certifique-se de que a saída do seu programa corresponda à saída abaixo.
> python estudantes.py Por favor, digite um número de identificação (xxxxxxxxx): 551234151 Estudante inexistente > python estudantes.py Por favor, digite um número de identificação (xxxxxxxxx): 751766201 Tiago Silva
-
Execute seu programa e digite este número de identificação como entrada:
00-115-2306(incluindo os hifens). Muitos usuários vão querer inserir números de identificação com traços. Como seu programa deve lidar com eles? -
Execute seu programa e insira um número de identificação com poucos ou muitos dígitos. Como seu programa deve lidar com esses números de identificação inválidos?
Envio
Por favor, pause e assista novamente a quaisquer partes do vídeo do instrutor necessárias até que você tenha concluído toda a atividade e seu programa funcione da mesma forma que o do instrutor. Quando tiver terminado:
- Volte ao Canvas para responder ao questionário.
Links Úteis:
- Voltar para: Visão Geral da Semana | Página Inicial