引言

个人购物车系统是一个实用的编程实践项目,它可以帮助我们理解Python编程中数据处理和用户交互的基本概念。在这个项目中,我们将使用Python语言,结合标准库和简单的文件操作,构建一个基本的购物车系统。通过这个项目,读者可以学习如何处理用户输入、存储数据以及实现基本的用户界面。

项目需求

  1. 用户注册与登录:用户可以注册并登录系统。
  2. 商品管理:用户可以查看商品列表,并添加商品到购物车。
  3. 购物车管理:用户可以查看购物车中的商品,修改数量或移除商品。
  4. 订单处理:用户可以提交订单,并查看订单详情。

技术栈

  • Python 3.x
  • 标准库os, sys, json, shelve
  • 用户界面:控制台输入输出

项目实现

1. 用户注册与登录

首先,我们需要一个简单的用户管理系统来处理注册和登录。

import shelve

def register():
    with shelve.open('users.db') as db:
        username = input("请输入用户名: ")
        if username in db:
            print("用户名已存在!")
            return
        password = input("请输入密码: ")
        db[username] = password
        print("注册成功!")

def login():
    with shelve.open('users.db') as db:
        username = input("请输入用户名: ")
        password = input("请输入密码: ")
        if username in db and db[username] == password:
            print("登录成功!")
            return True
        else:
            print("用户名或密码错误!")
            return False

2. 商品管理

商品管理模块允许用户查看商品列表并添加商品到购物车。

def list_products():
    products = [{'id': 1, 'name': '苹果', 'price': 3.5},
                {'id': 2, 'name': '香蕉', 'price': 2.0},
                {'id': 3, 'name': '橙子', 'price': 2.5}]
    for product in products:
        print(f"ID: {product['id']}, 名称: {product['name']}, 价格: {product['price']}")

def add_to_cart(cart, product_id):
    for product in products:
        if product['id'] == product_id:
            cart[product_id] = 1
            print("商品已添加到购物车。")
            return
    print("商品不存在!")

3. 购物车管理

购物车管理模块允许用户查看购物车内容,修改商品数量或移除商品。

def view_cart(cart):
    if not cart:
        print("购物车为空。")
        return
    for product_id, quantity in cart.items():
        print(f"商品ID: {product_id}, 名称: {products[product_id - 1]['name']}, 数量: {quantity}")

def update_cart(cart, product_id, quantity):
    if product_id in cart:
        cart[product_id] = quantity
        print("购物车更新成功。")
    else:
        print("商品不存在于购物车中。")

4. 订单处理

订单处理模块允许用户提交订单并查看订单详情。

def place_order(cart):
    if not cart:
        print("购物车为空,无法提交订单。")
        return
    total_price = sum(products[product_id - 1]['price'] * quantity for product_id, quantity in cart.items())
    print(f"订单已提交,总价: {total_price}")
    print("订单详情:")
    for product_id, quantity in cart.items():
        print(f"商品ID: {product_id}, 名称: {products[product_id - 1]['name']}, 数量: {quantity}, 单价: {products[product_id - 1]['price']}")

总结

通过以上步骤,我们成功构建了一个简单的个人购物车系统。这个系统虽然功能有限,但涵盖了数据处理和用户交互的基本概念。通过实际操作,读者可以加深对Python编程的理解,并为后续更复杂的项目打下基础。