<a id="ch-06"></a>

## Chapter 6 — Seven of eight is not a perfect eight

<!-- open-cyber-academy:lesson-figures:start ch-06 -->
### Lesson map

Lesson 06. Map, example, EX052.

```mermaid
flowchart TD
  P["Published print: correct 7/8"] --> G["One genuine message was forwarded"]
  G --> U["Ruth treats that forward as useful"]
  U --> R{"Does someone change the 0 to a 1?"}
  R -->|Yes| N["Refuse. That would be a different list"]
  R -->|No| K["7/8 stays, and the forward stays useful"]
```

A kind reading does not rewrite the success count.

### Logical drawing

```text
lab_route.py
    correct 7/8
    median time 40 s
    over 60 s: 2
the eighth flag
    a genuine message, forwarded
    recorded as 0 in the correct list
        |
        +-- useful is not the same claim as correct
        +-- the 0 is not flipped
        +-- nobody is named
```
<!-- open-cyber-academy:lesson-figures:end ch-06 -->

### Learning outcomes

After this chapter, you should be able to:

1. Keep `correct 7/8` as the published success line.
2. Keep the genuine forward as a useful report.
3. Refuse a rewritten list that would print eight of eight.

### 6.1 Useful and correct answer different questions

The guided lab asked eight volunteers to report anything odd. Seven reported the suspicious message. One forwarded a genuine message instead, and Ruth treats that forward as a useful report rather than a scolding. A classmate says the kindness means the print should read eight of eight. The program counts the suspicious message only. The genuine forward is the final 0 in the correct list, which is why the line says 7/8. Calling it useful does not change that 0. Ruth does not edit `lab_route.py`, and she does not name the volunteer.

### 6.2 Worked example

| Claim | Which question it answers | Decision |
|---|---|---|
| Seven reported the suspicious message | The correct list | Keep 7/8 |
| The other forward was a useful report | Ruth's reading of that person | Keep that reading |
| "So the lab was 8/8." | A different tally | Refuse |
| "Change the last 0 to 1." | The published list | Refuse |

> **Synthetic case.** The eighth person stays unnamed. The 0 is the list already run.

### Errors and limits

Protecting the volunteer from blame does not require a prettier fraction. The fraction and the kindness can both stand.

### Apply

- **EX052 — Which number moves?** Seven of eight reported the suspicious message. The other volunteer forwarded a genuine message, and Ruth calls that useful. May the print become 8/8, and what happens to the script? *Rubric:* 3 = 7/8 stays; the genuine forward stays a useful report and is not relabelled as a correct suspicious report; do not edit the script; name no volunteer;; 2 = 7/8 stays and the person is not blamed;; 1 = one of those;; 0 = none.

<!-- open-cyber-academy:chapter-navigation:start ch-06 -->
### Continue studying — lesson 06 (chapter 06 of 20)

[← Chapter 05](#ch-05) · [Course chapter index](../SUBJECTS.md) · [Chapter 07 →](#ch-07)

Continue to the next authored lesson.
<!-- open-cyber-academy:chapter-navigation:end -->

## Worked answers

<a id="answer-ex052"></a>
**EX052.** 7/8 stays. The genuine forward stays a useful report and is not relabelled as a correct suspicious report. Do not edit the script. Name no volunteer.
