背景介绍
随着电商平台的普及,用户需要高效管理购物车内容和支付信息。本系统采用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处理显示和计算,确保程序在本地环境中稳定运行。通过本地文件的读写操作,系统具备良好的持久性和可扩展性,能够满足用户对高效购物管理的需求。整体实现符合中级开发水平的要求,具备良好的技术规范和可运行性。