Goal
Build confidence with input handling, loops, functions, lists, and strings.
Task
Write a program that:
- Reads an integer
N(N > 0). - Reads
Nfull names and exam scores (0..100). - Prints:
- all records
- average score
- highest score with student name
- lowest score with student name
- pass count (
score >= 60)
Learning Metadata
- Difficulty: Beginner.
- Estimated Time: 30-45 minutes.
- Prerequisites: All
01-foundationsmodules, especiallytypes-and-io,control-flow, andstrings. - Learning Focus: Prove you can read structured input, preserve names, and compute accurate summaries without step-by-step scaffolding.
Learning Outcomes
FND-TIO-02FND-CFL-02FND-FUN-01FND-SEQ-02
Quick Run
Run the checkpoint checker from the repository root. The starter is intentionally incomplete, so the first run establishes the work still to do:
python scripts/automation.py check-checkpoint --language python --kind assessment --level 01-foundations
Sample Input
3
Ana Smith
91
Bob Lee
55
Carla Mendez
88
Sample Output (shape)
Students:
- Ana Smith: 91
- Bob Lee: 55
- Carla Mendez: 88
Average: 78.00
Highest: Ana Smith (91)
Lowest: Bob Lee (55)
Passed: 2/3
Cross-Language Notes
- Compared with the C++ assessment, this version reaches the same summary goal with much less syntax and more runtime flexibility.
- Relative to C#, Go, and TypeScript, fewer mistakes are caught before execution.
- The comparison to watch is how much structure the learner must impose manually.
Check Your Work
Implement the task in starter/, then run from the repository root:
python scripts/automation.py check-checkpoint --language python --kind assessment --level 01-foundations
Use --solution only after completing a full attempt. Each failed case reports targeted feedback without exposing the implementation.
What To Check
- full names are preserved exactly as entered
- highest and lowest records match the actual dataset
- pass counts and averages use the required scoring rules
Content revision 1d0b3f4