# 小型在线购物系统开发技术博客


背景介绍

开发一个在线购物系统的核心目标是实现用户输入商品名称和数量后,自动计算总价并返回结果的功能。该系统基于Python实现,采用本地文件存储方式,无需依赖外部服务。系统独立运行,可以在本地环境中快速实现,节省开发时间和资源。


思路分析

  1. 数据存储方式
    使用字典(key为商品名称,value为数量)存储商品信息,便于快速查找和计算价格。

    price_dict = {
       '苹果': 2,
       '香蕉': 3
    }
    
  2. 文件读写功能
    本地文件存储商品信息,支持读取和写入操作,确保数据持久化。

    with open('shopping_items.txt', 'r') as f:
       items = f.read().split()
       price_dict = {item[0]: int(item[1]) for item in items}
    
  3. 总价计算逻辑
    使用乘法计算总价,确保结果为浮点数格式。

    total_price = price_dict[name] * quantity
    print(f"商品总价:{total_price:.2f}元")
    

代码实现

1. 文件读取与存储

import sys

def read_shopping_items():
    price_dict = {}
    try:
        with open('shopping_items.txt', 'r') as f:
            items = f.read().split()
            for item in items:
                name, quantity = item.split(',')
                price_dict[name] = int(quantity)
    except FileNotFoundError:
        print("文件未找到,请手动创建 'shopping_items.txt' 文件")
        sys.exit(1)

    return price_dict

# 示例使用
if __name__ == "__main__":
    price = read_shopping_items()
    print("商品总价:", price.get('苹果', 0) * 2)

2. 输入验证与输出

def main():
    try:
        name, quantity = input("请输入商品名称和数量(用空格分隔): ").split()
        quantity = int(quantity)
        price = float(price_dict[name]) * quantity
        print(f"商品总价:{price:.2f}元")
    except ValueError:
        print("请输入有效的数字,如'苹果 2'")
    except KeyError:
        print("商品名称未找到!请重新输入")

if __name__ == "__main__":
    main()

总结

本项目通过本地文件存储和字典数据结构的应用,实现了用户输入商品信息并计算总价的功能。代码清晰易读,具备良好的可运行性,且具备数据验证和错误处理功能,确保系统稳定可靠。


技术亮点
– 使用Python的open()读取本地文件,支持读写操作。
– 通过字典高效存储和查找商品信息。
– 提供输入验证和错误处理,提升程序健壮性。