InterCourses
CoursesBlogs
0
All courses/Python BasicsMini Project: Attendance Log
Errors and Files
5 / 6
← Python Basics
○Welcome to Python○Demo: Print a Message○Exercise: Print an Announcement○Demo: Names and Values○Exercise: Label a Station○Demo: Inspect Data Types○Exercise: Record Supplies✦Module Quiz
○Demo: Calculate with Numbers○Exercise: Calculate a Bus Cost○Demo: Format a Message○Exercise: Format an Invoice○Demo: Convert Text to Numbers○Exercise: Convert Measurements○Demo: A Prefilled User Response○Exercise: Build a Workshop Ticket✦Module Quiz
○Compare and branch○Exercise: Choose a shelf sign○Repeat with while○Exercise: Charge a device○Count with for and range○Exercise: Mark bus stops○Skip with continue, stop with break○Exercise: Admit visitors○Project: Workshop sign-in✦Module Quiz
○Define and Call: Demo○Exercise: Define and Call○Parameters and Return: Demo○Exercise: Parameters and Return○Defaults and Keywords: Demo○Exercise: Defaults and Keywords○Local Scope: Demo○Exercise: Local Scope○Project: Workshop Receipts✦Module Quiz
○Index a Text Code○Exercise: Read Badge Edges○Slice a Route Label○Exercise: Slice Ticket Fields○Clean a Message with Methods○Exercise: Standardize a Notice○Format a Card with an f-String○Exercise: Make a Market Sign✦Module Quiz
○Create and Index a Supply List○Exercise: Build a Queue○Change a Playlist○Exercise: Update Orders○Loop and Slice a Route○Exercise: Pack Deliveries○Read a Fixed Tuple Record○Exercise: Read a Session Record✦Module Quiz
○Look Up and Update a Dictionary○Exercise: Update a Contact○Loop Through Dictionary Entries○Exercise: Write a Receipt○Keep Unique Visitors in a Set○Exercise: Compare Club Groups○Demo: Summarize Library Visits○Exercise: Build a Market Roster✦Module Quiz
○Tracebacks and a Safe Count Demo○Exercise: Recover Ticket Counts○Write and Read a Browser File Demo○Exercise: Save and Read a Message●Mini Project: Attendance Log✦Module Quiz
○Import Math: Demo○Exercise: Import Math○Local Module: Demo○Exercise: Local Module○Packages and Dotted Imports✦Module Quiz
○Recursion and a Base Case Demo○Exercise: Recursive Ticket Sum○Lambda, Map, and Filter Demo○Exercise: Clean Badge Names✦Module Quiz
○Classes, Objects, and Enums to Recognize○Final Project: Workshop Board✦Module Quiz

Mini Project: Attendance Log

A workshop coordinator has an arrival sheet with numeric text and occasional bad entries. Make a small report that survives long enough to be read back within this run. This pulls together try/except, loops, functions, f-strings, and browser file operations. The file attendance-log.txt is temporary in Pyodide, not on your computer; each test creates its own data and writes before reading. Use no input() calls.

Edit main.py and Run: the sample should finish with Arrivals: 5. Submit after each helper, in task order.

Your Task

  1. Complete total_arrivals(entries) to add converted counts in a loop; treat entries that raise ValueError during int(...) as zero. An empty list totals zero.
  2. Complete save_log(entries) to write exactly "Arrivals: <total>" to attendance-log.txt with with open(..., "w", encoding="utf-8"), using total_arrivals.
  3. Complete read_log() to read and return the entire attendance-log.txt file with with open(..., "r", encoding="utf-8").

You've built a report that handles messy source values without letting one bad count stop the shift.

Take the Quiz →
Loading editor…
Press Run to execute your code.