CSE 111: Programação com Funções

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:

  1. Abrir o arquivo estudantes.csv para 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.
  2. 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.
  3. 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.

  1. 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.
  2. 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.
    1. Se houver poucos dígitos no número de identificação, exiba:
      Número de identificação inválido: dígitos insuficientes.
    2. 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
    3. 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.
  3. 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

  1. Crie uma pasta para armazenar o programa da Atividade Guiada de Programação desta semana.
  2. Baixe o arquivo estudantes.csv e salve-o na pasta que você acabou de criar.
  3. Abra a pasta que criou no VSCode.
  4. Crie um arquivo chamado estudantes.py.
  5. 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
Procedimento de Teste

Verifique se seu programa funciona corretamente seguindo cada etapa deste procedimento de teste:

  1. Baixe o arquivo Python test_estudantes.py e salve-o na mesma pasta onde você salvou seu programa estudantes.py. Execute o arquivo test_estudantes.py e certifique-se de que a função test_.leitura_do_dicionario seja aprovada. Se não passar, há um erro na sua função ler_dicionario. Leia a saída de pytest, corrija o erro e execute o arquivo test_estudantes.py novamente 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 ======================
                
  2. 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
  3. 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?
  4. 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:

Links Úteis: