@MaratGan

Как убрать отображение 0 значений?

Добрый день!

Подскажите пожалуйста, как мне изменить код, чтобы в результат не выводился 0 значения

for i, elem in enumerate(brand_list):
        d = {i: str(brand_list[i]) + ' ' + str(quantity_list[i]) + ' шт' + ' по цене ' + str(price_list[i]) + ' руб.' + ' = ' + str(int(price_list[i]) * int(quantity_list[i])) + ' руб.' for i, elem in enumerate(brand_list)}
        s = int(price_list[i]) * int(quantity_list[i])

    sum_list.extend([s])
    rez = '------ Общая сумма составляет ' + str(sum(sum_list)) + ' руб. ------'
    for e in d.items():
        otvet1+= str(e[0]) + '. ' + e[1] + '\n'

    return (otvet1 + '\n' + rez)


Результат сейчас вот такой:

spoiler

0. VIC 2 шт по цене 382 руб. = 764 руб.
1. STELLOX 3 шт по цене 125 руб. = 375 руб.
2. SAKURA 6 шт по цене 163 руб. = 978 руб.
3. STELLOX 2 шт по цене 125 руб. = 250 руб.
4. PARTS-MALL 6 шт по цене 133 руб. = 798 руб.
5. MANDO 2 шт по цене 109 руб. = 218 руб.
6. 0 0 шт по цене 0 руб. = 0 руб.
7. 0 0 шт по цене 0 руб. = 0 руб.
8. 0 0 шт по цене 0 руб. = 0 руб.
9. 0 0 шт по цене 0 руб. = 0 руб.

------ Общая сумма составляет 3383 руб. ------


А нужно, чтобы было так:

0. VIC 2 шт по цене 382 руб. = 764 руб.
1. STELLOX 3 шт по цене 125 руб. = 375 руб.
2. SAKURA 6 шт по цене 163 руб. = 978 руб.
3. STELLOX 2 шт по цене 125 руб. = 250 руб.
4. PARTS-MALL 6 шт по цене 133 руб. = 798 руб.
5. MANDO 2 шт по цене 109 руб. = 218 руб.

------ Общая сумма составляет 3383 руб. ------
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
shabelski89
@shabelski89
engineer
замените на f-string формат и добавьте if.
d = {i: f'''{brand_list[i]} {quantity_list[i]} шт по цене {price_list[i]} руб. = {price_list[i] * quantity_list[i]} руб.''' for i, elem in enumerate(brand_list) if elem}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы