删除项目功能购物问题Python

时间:2019-12-08 23:14:38

标签: python dictionary

我想建立一个计数器,用于计算商店中扫描物品的总价格,并可以使用删除功能删除物品,但是我的解决方案不起作用。删除项目的规则应如下:

如果item_name不在先前添加的项目中,则什么也不做; 如果item_name在其中,但是数量大于或等于以前添加的具有该名称的项目数,则删除与item_name相关的记录; 如果item_name在其中,但数量少于先前添加的具有此名称的项目的数量,则从后者中减去前一个数量。

class Counter:
  def __init__(self, my_id):
    #complete the code below;
    #id is string;
    self._items = list() 
    self._id = my_id 
    self._total_amount = 0
    self._total_items = 0


  def add(self, item_name, amount, price_of_unit):
    self.dict_items = {'item_name': item_name,
                       'amount': amount,
                       'price_of_unit': price_of_unit}


    self.dict_items[item_name] = amount 
    self._total_amount = (price_of_unit * amount) + self._total_amount
    self._total_items = self._total_items + amount


  def remove(self, item_name, amount):
    if item_name in self.dict_items:
      amount_old = self.dict_items[item_name]['amount']
      if amount >= amount_old:
        del self.dict_items[item_name]
      elif amount < amount_old:
        self.dict_items['amount'] -= amount
    else:
      pass

remove()函数没有给我预期的结果。我对使用dicts和Python很陌生,因此,感谢您对理解这一点的帮助。

0 个答案:

没有答案