# Корзина товаров со счётчиком каждой позиции

В этой статье мы используем словарь для хранения товаров в корзине пользователя с учётом количества единиц каждого товара в корзине.

## Создаём переменные

![](/files/-M5XTjk8nM7IPDJuaDkG)

{% hint style="info" %}
Обратите внимание на начальное значение переменной: **{}** — это пустой словарь.
{% endhint %}

Создадим также переменную для хранения добавляемого товара:

![](/files/-M5Xf4mTzrKPxVj4Rg2x)

## Цепочка для добавления товара в корзину

![](/files/-M5XaaoaPGITT6qWBv3K)

![](/files/-M5XailDwLFi91SRkeTR)

![Ждём, пока пользователь выберет товар](/files/-M5XaobPe2s0V7Oc3tX4)

![Сохраняем его ответ в переменную %товар%](/files/-M5Xg9mDGTUTSagqUtty)

![](/files/-M5XgHaVYjwSoFnkxrnS)

![Ждём, когда пользователь укажет число единиц товара](/files/-M5XgPs_y_emOQsLVI87)

![](/files/-M5Xg_dERANd9-mAvyOr)

```python
%корзина%[%товар%] = %корзина%.get(%товар%, 0) + int(%сообщение%)
```

Здесь мы берём старое значение для указанного товара (или 0, если товара в корзине нет) и прибавляем к нему указанное пользователем значение. Так как тип переменной %сообщение% — Строка, то сначала необходимо преобразовать значение переменной к числу с помощью функции **int()**.

![Отправляем пользователю текущее содержимое корзины](/files/-M5Xgw5Bxk_9JWRbqOb4)

```python
{{ %корзина% | pretty }}
```

## Цепочка для удаления товара

![](/files/-M5XbnAwMwWqVcDTigT3)

![](/files/-M5Xbs0O2SiY4gZfqEbr)

![Ждём ответа пользователя](/files/-M5XbvpbrVWXbMPrNWvC)

![Удаляем ключ со значением из переменной %сообщение% из словаря %корзина%](/files/-M5XbzroLBlE6RnzE-ne)

```python
del %корзина%[%сообщение%]
```

![Выводим пользователю текущее содержимое корзины](/files/-M5Xc6J6IvqEfZerCPvx)

```python
{{ %корзина% | pretty }}
```

## Тестируем

![](/files/-M5XhH4zyD_PH8wasPP3)

![](/files/-M5XhStJQT1XuKCetKcS)

![](/files/-M5XhkNlDvdBbbvz7A50)


---

# 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://docs.smartbot-vk.ru/smartquery/recipes/korzina-tovarov-so-schyotchikom-kazhdoi-pozicii.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.
