Menu
CoddyTech

买什么

本课属于 Coddy Swift 学习旅程的“基础知识”单元。第 86 课,共 86 课。

challenge icon

挑战

简单
编写一个函数 whatToBuy,它接收 itemNames、itemPrices 和 budget,并返回预算范围内可以买到的物品名称数组。

按顺序遍历物品。对于每件物品,检查把它的价格加到当前总额后是否仍在预算范围内。如果是,就把物品名称添加到购物列表中,并更新总额。如果物品会超出预算,就跳过它,继续检查剩余物品。

逻辑:

  1. 将当前总额设为 0.0,并创建一个空结果数组
  2. 按索引遍历每件物品
  3. 如果当前总额加上当前物品的价格小于或等于预算,就把物品名称添加到结果中,并更新当前总额
  4. 如果添加该物品会超出预算,就跳过它,继续检查下一件物品
  5. 返回预算范围内买得起的物品名称数组

参数:

  • itemNames([String]):物品名称数组
  • itemPrices([Double]):对应的价格数组(长度与 itemNames 相同)
  • budget(Double):可花费的最高金额

返回值:预算范围内买得起的物品名称数组,顺序与它们出现的顺序一致([String])

示例:

// itemNames: ["Apple", "Bread", "Milk"]
// itemPrices: [2.0, 3.5, 4.0]
// budget: 6.0
// Result: ["Apple", "Bread"]
// (Apple costs 2.0, Bread costs 3.5, total is 5.5 which is within budget)
// (Milk would make total 9.5, which exceeds 6.0, so it's skipped)

亲手试试

func whatToBuy(itemNames: [String], itemPrices: [Double], budget: Double) -> [String] {
    // 在这里编写代码
}

基础知识中的所有课

自己练习: Swift 在线编辑器