InterCourses
CoursesBlogs
0
All courses/Python BasicsFinal Project: Workshop Board
Putting It Together
2 / 3
← 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

Final Project: Workshop Board

The coordinator needs a board for several workshop sessions. Each session is a dictionary with name, capacity, and a list of numeric reservations. Use familiar functions and loops; no classes, inheritance, enums, recursion, or lambda are needed. The supplied fixture replaces keyboard input, so Run never pauses for input().

Edit main.py and Run to see one line per workshop. Submit tasks in order: first count, then calculate space, then assemble the board. One workshop can be overbooked, so available places must not go below zero.

Your Task

  1. Complete reserved_total(numbers) with a loop that sums the numbers, returning 0 for an empty list.
  2. Complete available_places(capacity, reserved) to return the larger of capacity - reserved and 0 using a condition.
  3. Complete build_board(sessions) to return a list of lines in input order, each exactly "<name>: <reserved> reserved, <available> available", using your two helpers and an f-string.

The board now gives the coordinator a quick, readable seating update.

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