OpenCyber Academy
Curso rápido · Capítulo 6 · Português
Código do curso: OCA-003Capítulo 06: OCA-003-C006

Capítulo 6 — Remover uma duplicata não é fazer uma nova contagem completa

Ensino gratuito e aberto para quem deseja proteger pessoas e tecnologias. Não é preciso criar uma conta para estudar ou consultar as respostas.

Mapa da aula

Aula 06. Mapa, exemplo, EX060.

flowchart TD
  L["Execução publicada: 12 linhas; cinco endereços com a marca yes"] --> N["Caderno: um e-mail duplicado removido"]
  N --> R{"Uma nova lista digitada foi verificada?"}
  R -->|Não| K["Não apresente 11 ou 4 como resultado deste mês"]
  R -->|Sim| C["Registre as linhas de saída dessa própria execução"]

Um achado no caderno não é uma segunda execução do script.

Desenho lógico

lab_signups.py sobre o arquivo sintético de doze linhas
    rows 12; blank email 2; malformed 1; duplicates 2
    unique valid addresses with a yes tick: 5
caderno do primeiro mês
    um e-mail duplicado removido
        |
        +-- a remoção é um achado, não uma nova execução
        +-- 12 menos 1 é aritmética, não uma medição
        +-- o script não é alterado para forçar uma nova saída

Objetivos de aprendizagem

Depois deste capítulo, você deverá conseguir:

  1. Manter a saída publicada de doze linhas como a única contagem verificada daquele arquivo.
  2. Rejeitar 11 linhas ou 4 endereços aptos ao envio quando ninguém repetiu a verificação.
  3. Deixar o programa e suas linhas de saída inalterados.

6.1 O caderno e o script respondem a perguntas diferentes

O caderno do primeiro mês diz que um e-mail duplicado foi removido. Essa frase registra uma verificação. A saída do script descreve o arquivo sintético de doze linhas, antes de qualquer subtração. Um colega escreve "lista de envio deste mês: 4" porque uma duplicata saiu da lista do café. Os cinco eram endereços únicos com a marca exata yes. Remover uma duplicata não remove, por si só, um desses cinco endereços, nem reduz o arquivo de doze linhas. Qualquer um desses efeitos teria de ser contado sobre uma nova exportação. Kwame não digita 4 ou 11 no caderno como se o programa tivesse produzido esses números.

6.2 Exemplo resolvido

Tabela da aula; deslize para ver todas as colunas →

Afirmação O que efetivamente foi feito Decisão
"Uma duplicata foi retirada da lista de trabalho." O caderno registra isso Mantenha como um achado
"Então o arquivo agora tem 11 linhas." Nenhuma nova execução Recuse o número
"Então só quatro pessoas podem receber e-mail." Os cinco endereços já eram únicos Recuse. A unicidade já estava considerada na saída
"Altere as marcações para a próxima saída ficar mais organizada." O script conta o arquivo que recebe Recuse a alteração

Caso sintético. As linhas rows 12 e unique valid addresses with a yes tick: 5 continuam sendo a saída publicada.

Erros e limites

Um mês posterior pode apresentar outras contagens. Elas só existem depois que a lista daquele mês é verificada. Este capítulo não realiza essa verificação.

Aplicar

Respostas comentadas

EX060. Nem 11 nem 4 foram contados. A saída verificada continua sendo 12 linhas e 5 endereços com a marca yes. Não altere o script.