Генерация сообщений с выбранными товарами в телеграмм боте
У меня есть список в котором хранятся кортежи с информацией о товаре
>>> db.get_cart(id)
[(784324, 5733, 'Рубашка', 100, 'Белый', 'XL', 3), (784324, 7842, 'Свитер', 150, 'Коричневый', 'XL', 1), (784324, 8421, 'Штаны', 40, 'Синий', 'XL', 3)]
#(1. id пользователя; 2. id товара; 3. Название товара; 4. Цена; 5. Цвет; 6. Размер; 7. Количество.)
Я не могу реализовать вывод этих товаров в сообщении так чтоб оно выглядело "красиво", так как изначально у меня нет количества товаров в списке.
Например: У первого юзера 5 товаров в корзине, а у другого всего 2. Мне нужно вывести первому 5 товаров, а второму соответственно 2.
Надеюсь у меня получилось объяснить.
Заранее спасибо!
Ответы (1 шт):
Автор решения: Даниил
→ Ссылка
Похоже на этот вопрос, где я уже дал ответ. https://ru.stackoverflow.com/a/1338170/427052 В вашем случае это будет выглядеть примерно так, мог ошибиться с индексами, но если что вы и сами их легко поправите.
def generate(cart: tuple) -> str:
result = "? Список товаров в корзине:"
if len(cart) == 0:
result += f"\n\n{' '*8}Корзина пуста."
for index, item in enumerate(cart):
result += f"\n\n{' '*8}{index+1}. {item[2]}:\n{' '*12}Цена: {item[3]}\n{' '*12}Размер: {item[5]}"
return result