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)
相关推荐
橙露几秒前
Python 操作 MongoDB:非关系型数据查询与分析
开发语言·python·mongodb
小江的记录本4 分钟前
【RAG】RAG检索增强生成(核心架构、全流程、RAG优化方案、常见问题与解决方案)
java·前端·人工智能·后端·python·机器学习·架构
迷藏4947 分钟前
**TiDB 在高并发场景下的性能优化实战:从慢查询到极致吞吐的跃迁**在现代分布式系统中,数据库不仅是数据存储的
java·数据库·python·性能优化·tidb
m0_678485458 分钟前
如何自动同步SQL异构表数据_利用触发器实现实时数据复制
jvm·数据库·python
ZC跨境爬虫15 分钟前
海南大学交友平台登录页开发实战day6(覆写接口+Flask 本地链接正常访问)
前端·后端·python·flask·html
Shorasul17 分钟前
如何防御SQL注入的SQL畸形查询_利用语法分析器检测
jvm·数据库·python
WHS-_-202220 分钟前
Pycharm 使用经验
ide·python·pycharm
Rust研习社41 分钟前
深入 Rust 引用计数智能指针:Rc 与 Arc 从入门到实战
开发语言·后端·rust
m0_6403093042 分钟前
c++如何判断两个文件路径是否物理指向同一个磁盘文件_equivalent【详解】
jvm·数据库·python
CRMEB系统商城42 分钟前
国内开源电商系统的格局与演变——一个务实的技术视角
java·大数据·开发语言·小程序·开源·php