编写一个电商平台商品类,包含商品名称、价格、库存、销售量等属性,并实现购买、添加购物车等方法。python
时间: 2023-10-20 22:10:58 浏览: 177
下面是一个简单的电商平台商品类的 Python 代码实现:
```python
class Commodity:
def __init__(self, name, price, stock, sales):
self.name = name
self.price = price
self.stock = stock
self.sales = sales
def buy(self, quantity):
if quantity <= self.stock:
self.stock -= quantity
self.sales += quantity
print(f"购买成功,商品 {self.name} 数量 {quantity},总价 {self.price*quantity} 元。")
else:
print("购买失败,库存不足。")
def add_to_cart(self, cart, quantity):
if quantity <= self.stock:
cart.add_item(self, quantity)
print(f"商品 {self.name} 已添加到购物车,数量 {quantity}。")
else:
print("添加购物车失败,库存不足。")
```
上面的代码中,`Commodity` 类包含了商品名称、价格、库存和销售量等属性,并且实现了购买和添加购物车等方法。其中,`buy` 方法用于购买商品,`add_to_cart` 方法用于将商品添加到购物车中。购买和添加购物车时,都需要传入商品数量,如果库存不足,则会失败并返回相应的提示信息。
另外,为了实现购物车的功能,需要再定义一个购物车类,代码如下:
```python
class ShoppingCart:
def __init__(self):
self.items = {}
def add_item(self, commodity, quantity):
if commodity in self.items:
self.items[commodity] += quantity
else:
self.items[commodity] = quantity
def remove_item(self, commodity):
del self.items[commodity]
def clear(self):
self.items.clear()
def total_price(self):
return sum(item.price*quantity for item, quantity in self.items.items())
def checkout(self):
print("结算清单:")
for commodity, quantity in self.items.items():
print(f"{commodity.name} x {quantity},单价 {commodity.price} 元。")
print(f"总价 {self.total_price()} 元。")
```
`ShoppingCart` 类包含了购物车中商品列表等属性,以及添加、删除、清空、计算总价和结算等方法。其中,`add_item` 方法用于将商品添加到购物车中,`remove_item` 方法用于从购物车中删除商品,`clear` 方法用于清空购物车,`total_price` 方法用于计算购物车中所有商品的总价,`checkout` 方法用于结算购物车并打印结算清单。
综合起来,一个简单的电商平台的 Python 代码实现如下:
```python
class Commodity:
def __init__(self, name, price, stock, sales):
self.name = name
self.price = price
self.stock = stock
self.sales = sales
def buy(self, quantity):
if quantity <= self.stock:
self.stock -= quantity
self.sales += quantity
print(f"购买成功,商品 {self.name} 数量 {quantity},总价 {self.price*quantity} 元。")
else:
print("购买失败,库存不足。")
def add_to_cart(self, cart, quantity):
if quantity <= self.stock:
cart.add_item(self, quantity)
print(f"商品 {self.name} 已添加到购物车,数量 {quantity}。")
else:
print("添加购物车失败,库存不足。")
class ShoppingCart:
def __init__(self):
self.items = {}
def add_item(self, commodity, quantity):
if commodity in self.items:
self.items[commodity] += quantity
else:
self.items[commodity] = quantity
def remove_item(self, commodity):
del self.items[commodity]
def clear(self):
self.items.clear()
def total_price(self):
return sum(item.price*quantity for item, quantity in self.items.items())
def checkout(self):
print("结算清单:")
for commodity, quantity in self.items.items():
print(f"{commodity.name} x {quantity},单价 {commodity.price} 元。")
print(f"总价 {self.total_price()} 元。")
```
使用示例:
```python
# 创建商品实例
iphone = Commodity("iPhone 12 Pro Max", 9999, 100, 0)
# 创建购物车实例
cart = ShoppingCart()
# 购买商品
iphone.buy(1)
# 添加商品到购物车
iphone.add_to_cart(cart, 2)
# 结算购物车
cart.checkout()
```
输出:
```
购买成功,商品 iPhone 12 Pro Max 数量 1,总价 9999 元。
商品 iPhone 12 Pro Max 已添加到购物车,数量 2。
结算清单:
iPhone 12 Pro Max x 2,单价 9999 元。
总价 19998 元。
```
阅读全文