Задача курса
pandas loc: обновление цен и пересчёт стоимости
Курс «NumPy и pandas: практический тренажёр» · урок «Создание и изменение столбцов: векторные выражения, loc и выравнивание по индексу»
Условие
Склад: пересчёт стоимости после обновления цен через loc
Что уже дано
Проверяющая система запускает вашу программу и подаёт данные через stdin. Никаких заранее созданных переменных нет — вы читаете всё сами.
Что нужно сделать
Напишите программу, которая:
- Читает из
stdinцелое числоn— количество товаров. - Читает следующие
nстрок; каждая содержит три токена через пробел:название(строка без пробелов),цена(целое число),количество(целое число). Пример строки:Монитор 15000 4. - Создаёт
pd.DataFrameс именемdfиз словаря списков с ключами'name','price','qty'. - Создаёт новый столбец
'stock_value'как векторное выражениеdf['price'] * df['qty']. - Читает из
stdinцелое числоk— количество обновлений цены. - Читает следующие
kстрок; каждая содержит два токена:название(строка) иnew_price(целое число). Для каждой такой пары обновляет цену черезdf.loc[df['name'] == название, 'price'] = new_price. - После всех обновлений пересчитывает столбец
'stock_value'заново:df['stock_value'] = df['price'] * df['qty']. - Выводит в
stdoutровноnстрок в формате<name> <price> <stock_value>— три токена через пробел.
Ввод и вывод
Программа читает stdin и пишет в stdout.
Формат ввода
n
name_0 price_0 qty_0
...
name_{n-1} price_{n-1} qty_{n-1}
k
name_i new_price_i
...
- Первая строка: целое
n(2 ≤ n ≤ 8). - Следующие
nстрок: три токена — строка, целое, целое. - Затем целое
k(0 ≤ k ≤ n). - Следующие
kстрок: строка и целое — имя товара (гарантированно есть в таблице) и новая цена.
Формат вывода
n строк вида <name> <price> <stock_value>, где price и stock_value — целые числа.
Примеры
Пример 1
- Ввод
4 Монитор 15000 4 Клавиатура 2000 10 Мышь 800 15 Наушники 3500 6 2 Монитор 13000 Мышь 950
- Ожидаемый результат
Монитор 13000 52000 Клавиатура 2000 20000 Мышь 950 14250 Наушники 3500 21000
Попробуйте решить
РешениеPython
Без регистрации · результат не сохраняется
