回顾:股票柜台
本课属于 Coddy R 学习旅程的“逻辑与流程”单元。第 11 课,共 64 课。
挑战
中等完成 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 在线编译器