python设计简易购物系统
时间: 2023-05-24 07:05:18 浏览: 111
一个简单的购物系统实现
下面给出一个简单的购物系统的 Python 设计:
我们首先定义一个购物系统类 `ShopSystem`,这个类有三个属性:商品列表 `products`、购物车 `cart` 和余额 `balance`。其中 `products` 和 `cart` 都是字典类型,分别表示商品信息和购物车信息。`balance` 是一个整数类型,表示用户的余额。
然后我们可以定义一些方法,来实现购物系统的各种操作:展示商品、添加商品到购物车、从购物车中删除商品、结账等。
以下是该购物系统的具体实现:
```python
class ShopSystem:
def __init__(self, products, balance):
self.products = products
self.cart = {}
self.balance = balance
# 展示商品
def show_products(self):
print('当前商品列表:')
for id, product in self.products.items():
print(f'{id}: {product["name"]}, ¥{product["price"]}')
# 添加商品到购物车
def add_to_cart(self, id, quantity):
if id not in self.products:
print('商品不存在!')
return
product = self.products[id]
if quantity <= 0:
print('数量必须为正整数!')
return
if product['stock'] < quantity:
print(f'商品库存不足!当前库存为 {product["stock"]}。')
return
if id in self.cart:
self.cart[id] += quantity
else:
self.cart[id] = quantity
# 从购物车中删除商品
def remove_from_cart(self, id, quantity):
if id not in self.cart:
print('购物车中不存在该商品!')
return
if quantity <= 0:
print('数量必须为正整数!')
return
if self.cart[id] < quantity:
print('购物车中商品数量不足!')
return
self.cart[id] -= quantity
if self.cart[id] == 0:
del self.cart[id]
# 展示购物车
def show_cart(self):
if not self.cart:
print('购物车为空!')
return
print('当前购物车:')
for id, quantity in self.cart.items():
product = self.products[id]
print(f'{product["name"]} × {quantity}, 单价:¥{product["price"]}')
# 结账
def checkout(self):
total_price = 0
for id, quantity in self.cart.items():
product = self.products[id]
total_price += quantity * product['price']
if total_price > self.balance:
print('余额不足!')
return
print(f'总价为:¥{total_price},余额为:¥{self.balance - total_price}。')
self.cart = {}
self.balance -= total_price
print('结账成功!')
```
我们可以创建一个 `ShopSystem` 实例,并使用它的方法来测试该购物系统的功能:
```python
# 商品信息,每个商品以 ID 为键,包含商品名称、单价、库存信息
products = {
'001': {'name': '书包', 'price': 129, 'stock': 10},
'002': {'name': '鼠标', 'price': 69, 'stock': 20},
'003': {'name': '键盘', 'price': 89, 'stock': 15},
}
# 用户余额
balance = 500
# 创建 ShopSystem 实例
shop = ShopSystem(products, balance)
# 展示商品
shop.show_products()
# 添加商品到购物车
shop.add_to_cart('001', 2)
shop.add_to_cart('002', 3)
shop.add_to_cart('003', 1)
# 展示购物车
shop.show_cart()
# 从购物车中删除商品
shop.remove_from_cart('001', 1)
# 展示购物车
shop.show_cart()
# 结账
shop.checkout()
```
阅读全文