> For the complete documentation index, see [llms.txt](https://prof-rossetti.gitbook.io/intro-to-python/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://prof-rossetti.gitbook.io/intro-to-python/exercises/groceries/checkpoints.md).

# Python Datatypes (a.k.a. "Groceries") Exercise

## Guided Checkpoints

The "checkpoint" steps below provide one example strategy for breaking-up the [requirements](/intro-to-python/exercises/groceries.md) into smaller, more manageable pieces. Feel free but not obligated to follow the checkpoints below, working through one step at a time (and optionally making a "commit") before moving on to the next.

### Checkpoint 1 - Printing Products

1. Print all products (already done for you! :smiley\_cat:).
2. Print the number of products.
3. Print the first product.
4. Print the name of the first product.
5. Print the name of each product.
6. Print in alphabetical order the name of each product.
7. Print in alphabetical order the name and price of each product.
8. Print in alphabetical order the name and price of each product, where the price is rounded to two decimal places.

### Checkpoint 2 - Printing Departments

1. Print the number of unique departments.
2. Print the name of each unique department.
3. Print in alphabetical order the name of each unique department.
4. Print in alphabetical order the name of each unique department, as well as the number of products associated with that department.
5. Print in alphabetical order the name of each unique department, as well as the number of products associated with that department, and properly differentiate between "products" plural and "product" singular, depending on how many there are.
