【发布时间】:2017-08-02 03:15:12
【问题描述】:
HST2:面向对象的编程实验室 创建一个名为 ShoppingCart 的类。
创建一个不带参数并将总属性设置为零的构造函数,并初始化一个名为 items 的空 dict 属性。
创建需要 item_name、数量和价格参数的方法 add_item。此方法应将已添加项目的成本添加到总计的当前值中。它还应该向 items dict 添加一个条目,以便 key 是 item_name 并且 value 是 item 的数量。
创建一个方法 remove_item,它需要与 add_item 类似的参数。它应该删除已添加到购物车且不需要的项目。此方法应从当前总数中扣除已删除项目的成本,并相应地更新项目字典。
如果要移除的商品数量超过购物车中该商品的当前数量,则假定该商品的所有条目都将被移除。
创建一个方法 checkout 接受 cash_paid 并从付款中返回余额值。如果 cash_paid 不足以支付总额,则返回“Cashpaid not enough”。
创建一个名为 Shop 的类,该类有一个不带参数的构造函数,并将一个名为 quantity 的属性初始化为 100。
确保 Shop 继承自 ShoppingCart。
在 Shop 类中,重写 remove_item 方法,这样在不带参数的情况下调用 Shop 的 remove_item 会将数量减一。
# OOP Lab
class ShoppingCart(object):
def __init__(self):
total = 0
item = {}
self.total = total
self.item = item
def add_item(item_name, quantity, price):
cost = quantity * price
self.total += cost
self.item = {"item_name":quantity}
def remove_item(item_name,quantity,price):
cost = quantity * cost
self.total -= cost
for i in self.item:
if quantity > self.item[i]:
del self.item["item_name"]
def checkout(cash_paid):
if cash_paid < self.total:
return "Cash paid not enough"
class Shop(ShoppingCart):
def __init__(self):
quantity = 100
self.quantity = quantity
def remove_item():
self.quantity -= 1
#! Error State the following:
my add_item is having four argument instead of three each time i run this code:
请我需要有关此代码的帮助,我是 python 新手,我将不胜感激任何 Python 编程天使现在来拯救我。
【问题讨论】:
-
请不要只在此处粘贴您的家庭作业。
-
@LazarLjubenović 通常我尽量不回答家庭作业请求,因为总的来说你是对的,他们只是放弃他们的作业。但是在这种情况下,OP 确实尝试解决了问题,展示了他们的工作,并且非常接近解决方案,因此在我看来,朝着正确方向前进并不是不合理的。
-
你是对的,@cory
-
有趣的是,我自己解决了 4 圈测试剩下的 2 圈,没有在平台上寻求帮助,如果我没有弄错平台应该可以帮助解决问题......让我想知道是否你曾经在你的生活中解决过一个问题@CoryKramer 你真的应该学习如何为开源开发做出贡献
标签: python