0

我想制作一个程序,通过正文(在本例中为购物清单)搜索某些项目的名称(“烤豆”等)。然后,我希望它从列表或某些价格来源中检查这些商品的价格,并为购物清单创建总成本。我该怎么办?

4

2 回答 2

0

我不会假设您如何格式化您的购物清单。

list = "your formatting here"
prices = {
    "apple" : 0.99,
    "banana" : 0.29,
    "watermelon" : 4.99,
}
total = 0
for item in prices:
    if item in list:
        cost += prices[item]

if item in list搜索list等效于的子字符串item,这并不总是很快。但是我对您的格式没有任何假设-如果您的项目不是多个单词(例如toilet paper),那么您可以拆分list并遍历拆分列表中的每个元素。@kirbyfan64sos 建议使用string.splitlines(),大致相当于string.split("\n").

编辑:刚刚注意到您说“从列表或某些价格来源检查这些商品的价格”,所以我假设您可以使用 adict作为您的价格来源。list如果没有,也许你可以使用tuples...

prices = [("apple", 0.99), ("banana", 0.29), ("watermelon", 4.99)]
for item, price in prices:
    if item in list:
        cost += price
于 2013-06-05T22:36:12.400 回答
0
list = '''baked beans
spaghetti'''
prices = {'baked beans': 1.20, 'spaghetti': 1.30}
pricelist = [ ]

for line in iter(list.splitlines()):
    price = prices[line]
    pricelist.append(price)

total = sum(pricelist)
print total
于 2013-06-05T19:20:11.553 回答