Включения и сортировка · 13 из 15
Отбор по нескольким условиям
Задействованы также: Вложенные структуры, Функции
Покупатель выставил фильтры: цена, наличие, категория. Каких-то фильтров он не выставил вовсе, и это значит «любой».
Что сделать
Отберите товары по фильтрам покупателя — невыставленный фильтр значит «любой».
Что приходит
tovary— список товаров: словари с ключами"название","цена","остаток","категория"do_ceny— цена не выше этой; не передали — любаяtolko_v_nalichii—True: только с остатком больше нуля; не передали — любыеkategoriya— только эта категория; не передали — любая
Что вернуть
Названия подходящих товаров по алфавиту.
Допишите функцию podobrat в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
podobrat([{'название': 'Кружка', 'цена': 300, 'остаток': 5, 'категория': 'дом'}, {'название': 'Плед', 'цена': 900, 'остаток': 0, 'категория': 'дом'}], 500)
['Кружка']
Функция принимает список товаров — словарей с ключами «название», «цена» (целое), «остаток» (целое), «категория» (строка) — и три необязательных аргумента со значением по умолчанию None: максимальная цена, только в наличии (True или False), категория. Возвращает список названий подходящих товаров по алфавиту. Незаданный фильтр ничего не ограничивает.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.