CSV и JSON · 9 из 13
Сверить кассу и склад
Задействованы также: Словари, Файлы
Касса считает проданное, склад — списанное. К концу месяца цифры расходятся, и Вера хочет видеть, по каким позициям.
Что сделать
Сверьте проданное по кассе со списанным по складу и найдите, где цифры расходятся.
Что приходит
csv_imya— имя CSV кассы со столбцами «напиток» и «количество»json_imya— имя JSON склада: объект «напиток → количество»
Что вернуть
Список (напиток, касса, склад) для расходящихся позиций, по алфавиту; чего нет в одном источнике — там ноль.
Допишите функцию sverit в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
По кассе латте 5 и чай 3, на складе латте 5 и чай 2. Латте сходится, чай — нет: [("чай", 3, 2)].
with open("k.csv", "w", encoding="utf-8", newline="") as f:
f.write("напиток,количество\nлатте,5\nчай,3\n")
with open("s.json", "w", encoding="utf-8") as f:
f.write('{"латте": 5, "чай": 2}')
sverit('k.csv', 's.json')
[('чай', 3, 2)]
Функция принимает имя CSV кассы (столбцы «напиток», «количество») и имя JSON склада — объект «напиток: количество» (числа). Возвращает список кортежей (напиток, касса, склад) для позиций, где числа не совпадают или позиция есть только в одном источнике. Отсутствующая позиция считается нулём. Порядок — по алфавиту. Неразбираемые строки кассы пропускаются.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.