回顾:库存
本课属于 Coddy Swift 学习旅程的“逻辑与流程”单元。第 17 课,共 56 课。
挑战
中等你正在跟踪商店库存。读取一行输入:一个逗号分隔的操作列表,用于操作初始为空、名为 [String: Int] 的 stock。每个操作的形式如下:
in:<item>:<qty>将数量加到对应商品上(使用默认下标模式)out:<item>:<qty>减去相应数量。如果结果数量为0或更少,删除整个键。
应用所有操作后,打印:
- 每个剩余商品占一行,按字母顺序排序,格式为
<item>: <qty> - 所有剩余值的总和,格式为
Total units: <n>
对于输入 in:apple:5,in:bread:2,out:apple:3,in:apple:4,out:bread:5,输出为:
apple: 6
Total units: 6亲手试试
let ops = readLine()!.components(separatedBy: ",")
var stock: [String: Int] = [:]
// TODO:将每个 op 解析为 kind:item:qty;in 表示增加,out 表示减少;
// 移除 qty 降至 <= 0 的键;按顺序打印各行和总计
逻辑与流程中的所有课
自己练习: Swift 在线编辑器