买什么
本课属于 Coddy Swift 学习旅程的“基础知识”单元。第 86 课,共 86 课。
挑战
简单编写一个函数 whatToBuy,它接收 itemNames、itemPrices 和 budget,并返回预算范围内可以买到的物品名称数组。
按顺序遍历物品。对于每件物品,检查把它的价格加到当前总额后是否仍在预算范围内。如果是,就把物品名称添加到购物列表中,并更新总额。如果物品会超出预算,就跳过它,继续检查剩余物品。
逻辑:
- 将当前总额设为
0.0,并创建一个空结果数组 - 按索引遍历每件物品
- 如果当前总额加上当前物品的价格小于或等于预算,就把物品名称添加到结果中,并更新当前总额
- 如果添加该物品会超出预算,就跳过它,继续检查下一件物品
- 返回预算范围内买得起的物品名称数组
参数:
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 在线编辑器