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)
相关推荐
毕设源码-邱学长5 小时前
【开题答辩全过程】以 基于Java的学校住宿管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
rookieﻬ°5 小时前
PHP框架漏洞
开发语言·php
猿界零零七6 小时前
pip install mxnet 报错解决方案
python·pip·mxnet
炸膛坦客6 小时前
单片机/C/C++八股:(二十)指针常量和常量指针
c语言·开发语言·c++
兑生6 小时前
【灵神题单·贪心】1481. 不同整数的最少数目 | 频率排序贪心 | Java
java·开发语言
炸膛坦客8 小时前
单片机/C/C++八股:(十九)栈和堆的区别?
c语言·开发语言·c++
零雲8 小时前
java面试:了解抽象类与接口么?讲一讲它们的区别
java·开发语言·面试
不只会拍照的程序猿8 小时前
《嵌入式AI筑基笔记02:Python数据类型01,从C的“硬核”到Python的“包容”》
人工智能·笔记·python
Jay_Franklin8 小时前
Quarto与Python集成使用
开发语言·python·markdown
2401_831824968 小时前
代码性能剖析工具
开发语言·c++·算法