Menu
CoddyTech

回顾:股票柜台

本课属于 Coddy R 学习旅程的“逻辑与流程”单元。第 11 课,共 64 课。

challenge icon

挑战

中等

完成 process_orders(stock, orders)。按顺序处理订单,并为每个订单返回一行:

  • 当商品不在 stock 中时,返回 unknown <item>
  • 当商品数量为 0 时,返回 out of <item>
  • 否则返回 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 在线编译器