Menu
Coddy logo textTech

Повторение — биржа акций

Часть раздела Логика и потоки выполнения путешествия по R на Coddy. Урок 11 из 64.

challenge icon

Задание

Средне

Завершите process_orders(stock, orders). Обработайте заказы по порядку и верните по одной строке для каждого:

  • unknown <item>, если элемента нет в stock
  • out of <item>, если его количество равно 0
  • sold <item> в противном случае, при этом его количество уменьшается на 1

После обработки заказов добавьте по одной строке для каждого имеющегося на складе элемента в алфавитном порядке: <item>: <quantity>.

Предоставленный код считывает данные о запасах в виде пар name=quantity, а заказы — в виде строки со значениями, разделёнными запятыми, и выводит каждую возвращённую строку.

Попробуйте сами

process_orders <- function(stock, orders) {
  # Напишите ваш код здесь
  character(0)
}

# Предоставленный код ввода/вывода: оставьте его как есть
input <- suppressWarnings(readLines(file("stdin")))
stock <- c()
for (pair in strsplit(input[1], ",")[[1]]) {
  kv <- strsplit(pair, "=")[[1]]
  stock[kv[1]] <- as.numeric(kv[2])
}
cat(process_orders(stock, strsplit(input[2], ",")[[1]]), sep = "\n")

Все уроки раздела Логика и потоки выполнения

Потренируйтесь самостоятельно: Онлайн-компилятор R