Python中的POS定价系统

时间:2017-07-24 19:24:10

标签: python

我正在使用Python制作POS系统。我让一切都运转良好,但现在是时候真正开始了。我想根据比萨饼和大小添加一个选项来获得价格。我认为它需要存储在字典和列表字典中。无论如何,现在我处于一个冲动状态,并且无法想出如何正确地解压缩列表来执行此操作。任何和所有的帮助表示赞赏。

这是我正在运行的代码的链接。更容易。 https://gist.github.com/spa1mer/5eba249124d1a237d4adb88395659298

这是我提出的词典:

pizza_prices = {'El Jefe' : [{'small' : 12.99}, {'medium' : 13.99}, {'large' 
: 15.99}], 'OMV' : [{'small' : 13.99}, {'medium' : 14.99}, {'large' : 
16.99}], 'Dirty Hipster' : [{'small' : 14.99}, {'medium' : 15.99}, {'large' 
: 17.99}],}

在我的理论中,我知道它需要在这里与总数一起去。

enter image description here

1 个答案:

答案 0 :(得分:0)

这种数据结构可以得到显着改善,但让我尝试使用你拥有的东西。

pizza_prices = {
    'El Jefe' : [{'small' : 12.99}, {'medium' : 13.99}, {'large' : 15.99}],
    'OMV' : [{'small' : 13.99}, {'medium' : 14.99}, {'large' : 16.99}],
    'Dirty Hipster' : [{'small' : 14.99}, {'medium' : 15.99}, {'large' : 17.99}]
}

def get_price(name, size):
    sizes = pizza_prices[name]
    size_dict = list(filter(lambda s: size in s, sizes))[0]
    return size_dict[size]

首先用披萨的名称抓住列表。然后它将列表过滤到只包含你的披萨大小的字典,最后返回它的价格。

最后,请注意您的词典可以有多个条目:

{'small': 12.99, 'medium': 13.99, 'large': 15.99}

这至少会将你的提取方法变成:

def get_price(name, size):
    return pizza_prices[name][size]