python实现购物车的功能

模拟购物车,准备一个列表 goodList = [{'name':'笔记本电脑','price':8000}, {'name':'鼠标', 'price':100}]

5个函数 1.加入购物车 2.收藏商品 3.去结算 4.删除购物车商品 5.清空购物车

购物车 cartList = []

收藏列表 collectSet = {'笔记本电脑','鼠标'} 数据示例

去结算计算出总价即可

思路

这是一个购物车程序,主要实现了以下功能:

1. 加入购物车:用户可以选择商品编号,将商品添加到购物车列表中。
2. 收藏商品:用户可以收藏喜欢的商品,收藏的商品会存储在一个集合中。
3. 去结算:计算购物车中商品的总价。
4. 删除购物车商品:用户可以选择要删除的商品编号,将商品从购物车列表中移除。
5. 清空购物车:清空购物车列表中的所有商品。
6. 查看购物车:显示购物车列表中的所有商品。

代码首先定义了一个商品列表`goodList`和一个购物车列表`cartList`,以及一个收藏集合`collectSet`。然后通过一个循环,让用户输入操作选项,根据用户的选择执行相应的功能。在每个功能中,都有相应的提示信息和错误处理,以确保程序的正常运行。

python 复制代码
'''
# 模拟购物车,准备一个列表 goodList = [{'name':'笔记本电脑','price':8000}, {'name':'鼠标', 'price':100}]
# 5个函数 1.加入购物车 2.收藏商品 3.去结算 4.删除购物车商品 5.清空购物车
# 购物车 cartList = []
# 收藏列表 collectSet = {'笔记本电脑','鼠标'}  数据示例
# 去结算计算出总价即可
'''
goodList = [{'name':'笔记本电脑','price':8000}, {'name':'鼠标', 'price':100}]
print("1.加入购物车 2.收藏商品 3.去结算 4.删除购物车商品 5.清空购物车 6.查看购物车")
cartList = []
collectSet = {'笔记本电脑','鼠标'}
goodList = [{'name': '笔记本电脑', 'price': 8000}, {'name': '鼠标', 'price': 100}]
cartList = []
collectSet = {'笔记本电脑', '鼠标'}
while True:
    cz = input('请输入你选择的操作')
    if cz == '1':
        print('现在的商品有')
        for i in range(len(goodList)):
            print(f'{i+1}-商品名称:{goodList[i]["name"]}-商品价格{goodList[i]["price"]}')
        cart_one = input('请输入你要加入购物车的商品编号: ')
        selected_index = int(cart_one) - 1
        if selected_index >= 0 and selected_index < len(goodList):
            selected_good = goodList[selected_index]
            cartList.append(selected_good)
            print(f"已将 {selected_good['name']} 加入购物车")
        else:
            print("输入的商品编号无效,请重新输入")
    if cz == '2':
        print('现在的商品有')
        for i in range(len(goodList)):
            print(f'{i+1}-商品名称:{goodList[i]["name"]}-商品价格{goodList[i]["price"]}')
        cart_two = input('请输入你想要收藏的商品')
        for i in range(len(goodList)):
            if i < len(cart_two):
                collectSet.add(goodList[i]['name'])
        print(f"现在收藏有{collectSet}")
    if cz == '3':
        print(cartList)
        cart_sum = sum([i['price'] for i in cartList])
        print(f"总价{cart_sum}")
    if cz == '4':
        print("现在的购物车商品是")
        for i in range(len(cartList)):
            print(f'{i + 1}-商品名称:{cartList[i]["name"]}-商品价格{cartList[i]["price"]}')
        print(f"总价{cart_sum}")
        cart_four = input('你想要删除的商品编号是')
        if cart_four.isdigit():
            cart_four = int(cart_four) - 1
            if 0 <= cart_four < len(cartList):
                removed_item = cartList.pop(cart_four)
                print(f"已将 {removed_item['name']} 删除")
            else:
                print("输入的商品编号无效")
        else:
            print("请输入有效的数字")
    if cz == '5':
        cartList.clear()
        print("购物车已经清空")
    if cz == '6':
        print('现在购物车的商品为')
        for i in collectSet:
            print(i)
相关推荐
ZTLJQ6 小时前
序列化的艺术:Python JSON处理完全解析
开发语言·python·json
2401_891482177 小时前
多平台UI框架C++开发
开发语言·c++·算法
H5css�海秀7 小时前
今天是自学大模型的第一天(sanjose)
后端·python·node.js·php
阿贵---7 小时前
使用XGBoost赢得Kaggle比赛
jvm·数据库·python
88号技师7 小时前
2026年3月中科院一区SCI-贝塞尔曲线优化算法Bezier curve-based optimization-附Matlab免费代码
开发语言·算法·matlab·优化算法
t198751287 小时前
三维点云最小二乘拟合MATLAB程序
开发语言·算法·matlab
无敌昊哥战神7 小时前
【LeetCode 257】二叉树的所有路径(回溯法/深度优先遍历)- Python/C/C++详细题解
c语言·c++·python·leetcode·深度优先
m0_726965988 小时前
面面面,面面(1)
java·开发语言
2401_831920748 小时前
分布式系统安全通信
开发语言·c++·算法
~无忧花开~8 小时前
React状态管理完全指南
开发语言·前端·javascript·react.js·前端框架