产品字典加法和减法

时间:2016-11-14 23:58:24

标签: python python-3.x dictionary math product

我需要编写一个接受字典作为库存的函数以及(名称,数字)对的product_list,它们指示何时应该通过向其添加特定数字来更新该产品的库存,这可能是负面的数。

第一次提到产品时,它会被添加到字典中,当它的计数达到零时,它会保留在字典中。如果计数变为负数,我需要提出一个值错误。

示例:

d = {"apple":50, "pear":30, "orange":25}

ps = [("apple",20),("pear",-10),("grape",18)] 

shelve(d,ps)
d 
{'pear': 20, 'grape': 18, 'orange': 25, 'apple': 70}

shelve(d,[("apple",-1000)])
Traceback (most recent call last):

ValueError: negative amount for apple

我的代码提供了意外的EOF错误或语法无效,具体取决于我是否包含最后一个打印行。它绝对不是目前正在实现的目标,但我相信这是我需要解决这个问题的格式和逻辑。我需要打印x'负值的功能。其中x是负面的果实。对此有任何帮助表示赞赏

代码:

def shelve(inventory,product_list):
    count = 0

try:

    for x in product_list:
        if x == True:
            product_list.append(x)
            count += key
        else:
            return product_list

except ValueError:
    print ('negative amount for (product)')   


print "hello program starts here"
d = {"apple":50, "pear":30, "orange":25}

ps = [("apple",20),("pear",-10),("grape",18)] 

shelve(d,ps)

1 个答案:

答案 0 :(得分:1)

您的任务的重要部分是将问题分解为子问题。使用dict和list数据结构主要基于迭代这些数据结构。从简单开始,一步一步。所以解决问题的一种方法可能是:

1。)迭代产品列表(您可以打印项目以查看发生的情况)。这将是产品循环。

for x in ps:
    print x

检查如何使用以下方式访问列表元素更改打印x以打印x [0]或x [1]

2.)现在,对于产品循环中的每个产品,您需要迭代库存并将库存设置为相应的值。首先迭代库存并打印其内容。在做更复杂的事情之前,先看看它是如何工作的。 ^^ - d (我只是注意到有一个比迭代更简单的解决方案,因为它是一个字典,你会知道该怎么做)

3。)现在添加Value错误和异常内容

希望这有帮助