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

## Guided Checkpoints

The "checkpoint" steps below provide one example strategy for breaking-up the [requirements](https://prof-rossetti.gitbook.io/intro-to-python/exercises/groceries) 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://prof-rossetti.gitbook.io/intro-to-python/exercises/groceries/checkpoints.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
