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

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

Обратите внимание на начальное значение переменной: {} — это пустой словарь.
Создадим также переменную для хранения добавляемого товара:

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

Ждём, пока пользователь выберет товар
Сохраняем его ответ в переменную %товар%
Ждём, когда пользователь укажет число единиц товара
1
%корзина%[%товар%] = %корзина%.get(%товар%, 0) + int(%сообщение%)
Copied!
Здесь мы берём старое значение для указанного товара (или 0, если товара в корзине нет) и прибавляем к нему указанное пользователем значение. Так как тип переменной %сообщение% — Строка, то сначала необходимо преобразовать значение переменной к числу с помощью функции int().
Отправляем пользователю текущее содержимое корзины
1
{{ %корзина% | pretty }}
Copied!

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

Ждём ответа пользователя
Удаляем ключ со значением из переменной %сообщение% из словаря %корзина%
1
del %корзина%[%сообщение%]
Copied!
Выводим пользователю текущее содержимое корзины
1
{{ %корзина% | pretty }}
Copied!

Тестируем