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)
相关推荐
爱学习的白杨树4 分钟前
MyBatis的一级、二级缓存
java·开发语言·spring
OTWOL10 分钟前
两道数组有关的OJ练习题
c语言·开发语言·数据结构·c++·算法
问道飞鱼13 分钟前
【前端知识】强大的js动画组件anime.js
开发语言·前端·javascript·anime.js
拓端研究室14 分钟前
R基于贝叶斯加法回归树BART、MCMC的DLNM分布滞后非线性模型分析母婴PM2.5暴露与出生体重数据及GAM模型对比、关键窗口识别
android·开发语言·kotlin
Code成立15 分钟前
《Java核心技术I》Swing的网格包布局
java·开发语言·swing
Auc2419 分钟前
使用scrapy框架爬取微博热搜榜
开发语言·python
QQ同步助手26 分钟前
C++ 指针进阶:动态内存与复杂应用
开发语言·c++
凯子坚持 c32 分钟前
仓颉编程语言深入教程:基础概念和数据类型
开发语言·华为
小爬虫程序猿34 分钟前
利用Java爬虫速卖通按关键字搜索AliExpress商品
java·开发语言·爬虫
梦想画家36 分钟前
Python Polars快速入门指南:LazyFrames
python·数据分析·polars