我需要编写一个接受字典作为库存的函数以及(名称,数字)对的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)
答案 0 :(得分:1)
您的任务的重要部分是将问题分解为子问题。使用dict和list数据结构主要基于迭代这些数据结构。从简单开始,一步一步。所以解决问题的一种方法可能是:
1。)迭代产品列表(您可以打印项目以查看发生的情况)。这将是产品循环。
for x in ps:
print x
检查如何使用以下方式访问列表元素更改打印x以打印x [0]或x [1]
2.)现在,对于产品循环中的每个产品,您需要迭代库存并将库存设置为相应的值。首先迭代库存并打印其内容。在做更复杂的事情之前,先看看它是如何工作的。 ^^ - d (我只是注意到有一个比迭代更简单的解决方案,因为它是一个字典,你会知道该怎么做)
3。)现在添加Value错误和异常内容
希望这有帮助