swift - 功能和选项练习

标签 swift dictionary

我是 Swift 新手。最近,我正在做 Swift 练习。

假设您正在创建一个用于购买的应用程序。编写一个函数,该函数将获取要购买的商品的名称并返回该商品的成本。在函数主体中,通过访问字典 stock 来检查该商品是否有库存。如果是,则通过在字典价格中访问该商品的价格来返回该商品的价格。如果商品缺货,则返回 nil。调用该函数并传入下面字典中存在的字符串。打印返回值。

var prices = ["Chips": 2.99, "Donuts": 1.89, "Juice": 3.99, "Apple": 0.50, "Banana": 0.25, "Broccoli": 0.99]
var stock = ["Chips": 4, "Donuts": 0, "Juice": 12, "Apple": 6, "Banana": 6, "Broccoli": 3]

func purchase(prices:String)->(Int?){
    if stock.index(forKey: prices) == nil{
        return nil
    }else{
        for (String,value) in prices{
            return value
        }
    }
}

我尝试访问股票字典,但我不知道如何返回给定字符串的结果。

错误是:

type 'String' does not conform to protocol 'Sequence'.

最佳答案

你这样做是完全错误的。我建议您先了解一下基础知识。可以满足如下要求

func purchase(item:String)->Double?{
    if let price = prices[item] {
        if let quantity = stock[item] { // check for quantitiy of item
            if quantity == 0 { // item present but 0 quantatiy
                return nil
            }
        } else {
            return nil // item not present in stock
        }
        stock[item] = stock[item]! - 1 // one itme sold
        return price // return the price of the item

    } else {
        return nil // item not present in prices
    }
}

关于swift - 功能和选项练习,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45261593/

相关文章:

ios - Swift Firebase 删除帖子

ios - 设置 UIView 的颜色强度

python - 如何计算定义函数的输出?

javascript - D3 从纬度和经度寻找路径

c# - 在 C# 的字典中存储相似对象的最佳方法是什么?

swift - 用于 nil 过滤的通用 Swift 字典扩展

swift - 如何在 SpriteKit 游戏中添加普通按钮?

Swift:约束泛型参数以用于更受约束的泛型函数

ios - 如何将多个对象保存到关系实体中。 Xcode

python - 类型错误 : unhashable type: 'list' for webscraping project