乘积字典加减法

Product dictionary addition and subtraction

我需要编写一个接受字典作为库存的函数,以及一个 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 错误或无效的语法,这取决于我是否包含最后一个打印行。目前肯定没有实现目标,但我相信这是解决这个问题的格式和某种逻辑。我需要打印 'negative amount for 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)

你的任务的重要部分是将你的问题分解成子问题。使用 dict 和 list 数据结构主要是基于对这些数据结构的迭代。从简单开始,一步到位 time.So 解决问题的一种方法可能是:

1.) 遍历产品列表(您可以打印项目以查看发生了什么)。这将是产品循环。

for x in ps:
    print x

检查如何使用例如访问列表元素将打印 x 更改为打印 x[0] 或 x[1]

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

3.) 现在添加值错误和异常内容

希望这对您有所帮助