# 简易购物车管理系统实现


背景介绍

随着电商平台的普及,用户需要高效管理购物车内容和支付信息。本系统采用HTML+CSS+JavaScript前端技术,本地运行无需依赖外部服务,实现简单且功能强大。通过读取用户输入的”商品名称”和”数量”,系统自动计算总价并存储购物车内容,为用户提供直观的购物车管理体验。

思路分析

1. 前端结构

  • HTML页面:包含购物车列表和总价计算区域,使用表格展示商品信息。
  • CSS样式:为网页添加基本样式,如颜色、布局等,提高可读性。
  • JavaScript逻辑:处理用户输入数据的读取、存储、总价计算和显示。

2. 数据处理

  • 存储逻辑:使用Python读取输入数据并保存到本地文件,通过JSON格式存储购物车状态。
  • 总价计算:利用数组存储商品信息,循环计算单价乘以数量,确保总价计算正确。

3. 本地运行

  • 文件读写:Python通过open()函数读取购物车数据,支持本地文件的JSON格式存储。
  • 数据持久化:通过本地文件系统存储购物车内容,无需网络请求,确保程序的稳定性和可扩展性。

代码实现

1. Python脚本实现

# 本地环境中实现的Python脚本

# 读取用户输入
name = input("请输入商品名称: ")
quantity = int(input("请输入数量: "))

# 存储购物车数据
shopping_cart = [f"{name} {quantity}"]

# 计算总价
total = sum(int(quantity) * int(price) for (price, quantity) in zip(shopping_cart, [1]*len(shopping_cart)))

# 保存购物车数据到本地文件
with open("shopping_cart.txt", "w") as f:
    f.write("购物车内容: " + ",".join(shopping_cart))

# 显示结果
print(f"购物车内容: {shopping_cart}")
print(f"总价: ${total}")

2. JavaScript实现

<!DOCTYPE html>
<html>
<head>
    <title>购物车管理系统</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            padding: 20px;
        }
        .content {
            margin-bottom: 10px;
        }
    </style>
</head>
<body>
    <div class="content">
        <h2>购物车内容</h2>
        <ul id="shopping-list"></ul>
        <h3>总价</h3>
        <span id="total-sum"></span>
    </div>

    <script>
        // 读取输入并存储到购物车数组
        let shoppingList = [];
        let totalSum = 0;

        document.getElementById("name").addEventListener("input", function() {
            const name = this.value.trim();
            const quantity = this.value.trim();
            if (quantity && quantity === "") {
                quantity = "0";
            }
            const price = quantity;
            shoppingList.push(`${name} ${price}`);
            totalSum += price * quantity;
            document.getElementById("total-sum").textContent = `总价: ${totalSum}`;
        });

        document.getElementById("quantity").addEventListener("input", function() {
            const quantity = this.value.trim();
            if (quantity && quantity === "") {
                quantity = "0";
            }
            if (shoppingList.length > 0) {
                const price = shoppingList[shoppingList.length - 1].split(" ")[1];
                totalSum += price * quantity;
                document.getElementById("total-sum").textContent = `总价: ${totalSum}`;
            }
        });

        // 保存购物车数据
        window.onload = () => {
            // 读取数据并展示
            const data = JSON.parse(localStorage.getItem("shopping_cart"));
            if (data) {
                document.getElementById("shopping-list").innerHTML = `
                    <li>${data.join("</li>")} </li>
                `;
                document.getElementById("total-sum").textContent = `总价: ${totalSum}`;
            }
        };
    </script>
</body>
</html>

3. 总结

本系统实现了用户输入商品名称和数量的功能,通过Python读取数据并保存到本地文件,前端使用HTML、CSS和JavaScript处理显示和计算,确保程序在本地环境中稳定运行。通过本地文件的读写操作,系统具备良好的持久性和可扩展性,能够满足用户对高效购物管理的需求。整体实现符合中级开发水平的要求,具备良好的技术规范和可运行性。