课题35、简单购物车系统 商品,具有编号、名称、类别、单价、库存数量、折扣等信息,实现如下简单购物车功 能: ⑴登录。先登录才能使用本系统。 ⑵浏览商品。 ⑶商品可加入购物车。 ⑷可以查看、修改、删除、清空购物车中的商品。用python
时间: 2023-07-10 21:36:41 浏览: 152
python实现简单的购物车功能
好的,下面是一个简单购物车系统的Python实现代码,实现了以上的功能。数据库使用SQLite,需要安装sqlite3库。
```python
import sqlite3
# 连接数据库
conn = sqlite3.connect('shop.db')
cursor = conn.cursor()
# 创建商品表
cursor.execute('''
CREATE TABLE IF NOT EXISTS products(
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
category TEXT,
price REAL,
stock INTEGER,
discount REAL
)
''')
# 创建用户表
cursor.execute('''
CREATE TABLE IF NOT EXISTS users(
username TEXT PRIMARY KEY,
password TEXT
)
''')
# 插入商品数据
cursor.execute("INSERT INTO products (name, category, price, stock, discount) VALUES ('Apple', 'Fruit', 5.0, 100, 0.9)")
cursor.execute("INSERT INTO products (name, category, price, stock, discount) VALUES ('Banana', 'Fruit', 2.0, 200, 0.8)")
cursor.execute("INSERT INTO products (name, category, price, stock, discount) VALUES ('Orange', 'Fruit', 3.0, 150, 0.85)")
cursor.execute("INSERT INTO products (name, category, price, stock, discount) VALUES ('Milk', 'Dairy', 4.0, 80, 0.95)")
cursor.execute("INSERT INTO products (name, category, price, stock, discount) VALUES ('Bread', 'Bakery', 3.0, 120, 0.9)")
# 插入用户数据
cursor.execute("INSERT INTO users (username, password) VALUES ('admin', 'admin')")
# 提交事务
conn.commit()
# 登录函数
def login():
username = input('请输入用户名:')
password = input('请输入密码:')
cursor.execute("SELECT * FROM users WHERE username=? AND password=?", (username, password))
if cursor.fetchone():
print('登录成功')
return True
else:
print('用户名或密码错误')
return False
# 查看商品函数
def show_products():
cursor.execute('SELECT * FROM products')
products = cursor.fetchall()
print('编号\t名称\t类别\t单价\t库存\t折扣')
for product in products:
print(f'{product[0]}\t{product[1]}\t{product[2]}\t{product[3]}\t{product[4]}\t{product[5]}')
# 加入购物车函数
def add_to_cart(cart, product_id):
cursor.execute('SELECT * FROM products WHERE id=?', (product_id,))
product = cursor.fetchone()
if product:
if product[4] > 0:
if product_id in cart:
cart[product_id]['count'] += 1
else:
cart[product_id] = {'name': product[1], 'price': product[3], 'count': 1, 'discount': product[5]}
print(f'{product[1]}加入购物车成功')
else:
print(f'{product[1]}库存不足')
else:
print('商品不存在')
# 查看购物车函数
def show_cart(cart):
if not cart:
print('购物车为空')
else:
total_price = 0
print('编号\t名称\t单价\t数量\t折扣\t总价')
for product_id, product_info in cart.items():
price = product_info['price'] * product_info['discount']
count = product_info['count']
total = price * count
total_price += total
print(f'{product_id}\t{product_info["name"]}\t{price:.2f}\t{count}\t{product_info["discount"]:.2f}\t{total:.2f}')
print(f'总价:{total_price:.2f}')
# 修改购物车函数
def modify_cart(cart):
product_id = input('请输入要修改的商品编号:')
if product_id in cart:
count = int(input('请输入数量:'))
if count > 0:
cart[product_id]['count'] = count
print(f'{cart[product_id]["name"]}数量修改成功')
else:
print('数量必须大于零')
else:
print('商品不存在')
# 删除购物车函数
def delete_from_cart(cart):
product_id = input('请输入要删除的商品编号:')
if product_id in cart:
del cart[product_id]
print('删除成功')
else:
print('商品不存在')
# 清空购物车函数
def clear_cart(cart):
cart.clear()
print('购物车已清空')
# 主函数
def main():
# 登录
while True:
if login():
break
# 浏览商品
show_products()
# 初始化购物车
cart = {}
# 购物
while True:
action = input('请选择操作(1.加入购物车 2.查看购物车 3.修改购物车 4.删除购物车 5.清空购物车 6.结算):')
if action == '1':
product_id = input('请输入要购买的商品编号:')
add_to_cart(cart, product_id)
elif action == '2':
show_cart(cart)
elif action == '3':
modify_cart(cart)
elif action == '4':
delete_from_cart(cart)
elif action == '5':
clear_cart(cart)
elif action == '6':
show_cart(cart)
break
else:
print('无效操作')
# 结束
print('谢谢光临')
conn.close()
if __name__ == '__main__':
main()
```
在以上代码中,我们首先创建了商品表和用户表,然后插入了一些测试数据。登录函数中,我们从用户表中验证用户信息是否正确。查看商品函数中,我们从商品表中取出所有商品信息并展示给用户。加入购物车函数中,我们从商品表中根据商品编号取出商品信息,并将商品添加到购物车中。查看购物车函数中,我们遍历购物车中的所有商品,并计算总价。修改购物车函数和删除购物车函数中,我们可以根据商品编号对购物车中的商品进行修改和删除。清空购物车函数中,我们可以清空购物车。主函数中,我们实现了购物过程。用户可以选择操作(加入购物车、查看购物车、修改购物车、删除购物车、清空购物车、结算),直到选择结算操作后才结束程序。
以上是一个简单的购物车系统的Python实现代码,可以作为参考。实际项目中,还需要根据具体需求进行设计和开发。
阅读全文