Python如何实现的简单购物车程序

下面我将详细讲解Python如何实现的简单购物车程序,攻略包含以下几个步骤:

  1. 了解需求,设计购物车数据结构
  2. 编写添加商品和移除商品函数
  3. 编写计算总价的函数
  4. 编写主函数,用户能够在控制台上进行购物车操作

1.了解需求,设计购物车数据结构

首先,我们需要了解购物车的基本需求:

  1. 用户可以向购物车中添加商品。
  2. 用户可以从购物车中移除商品。
  3. 用户可以查看购物车中所有商品以及总价。

现在,我们可以设计购物车数据结构,我们可以用列表来储存购物车中的商品,每个商品可以用字典来表示,字典包含商品名称、价格和数量三个键值对:

cart = [{'name': '商品1', 'price': 10.0, 'quantity': 2},
        {'name': '商品2', 'price': 20.0, 'quantity': 1}]

2.编写添加商品和移除商品函数

编写添加商品和移除商品函数是购物车程序的核心,如下所示:

def add_to_cart(cart, name, price, quantity):
    cart.append({'name': name, 'price': price, 'quantity': quantity})
    print(f'{quantity}件{name}已经添加到购物车中!')


def remove_from_cart(cart, name):
    for item in cart:
        if item['name'] == name:
            cart.remove(item)
            print(f'已从购物车中移除{name}!')
            break
    else:
        print(f'购物车中不存在{name}!')
  • add_to_cart 函数向 cart 列表中添加一个商品,该函数包含四个参数,分别是购物车 cart 对象、商品名称 name、商品价格 price 和商品数量 quantity。函数将一个新的字典对象添加到 cart 列表中,表示一个新的商品。最后,函数输出一条消息,表示新的商品已经成功添加到购物车中了。

  • remove_from_cart 函数负责从购物车 cart 中移除一个指定的商品,该函数包含两个参数,分别是购物车 cart 对象和指定的商品名称 name。函数通过遍历 cart 列表找到与指定商品名称相同的商品,如果找到了就将它从 cart 列表中移除,最后输出一条表示成功执行的消息。

3. 编写计算总价的函数

计算购物车中所有商品的总价格需要遍历所有商品,并对每个商品的数量和价格执行相乘操作,然后将所有的商品子总价格相加。计算总价的代码如下:

def calculate_total_price(cart):
    total = 0.0
    for item in cart:
        total += item['price'] * item['quantity']
    return total

4. 编写主函数,用户能够在控制台上进行购物车操作

在主函数中,我们需要实现用户交互的功能,包括添加商品、移除商品和计算总价。主函数代码如下:

def main():
    cart = []

    while True:
        print('请选择您需要的操作:')
        print('1.添加商品')
        print('2.移除商品')
        print('3.查看购物车')
        print('4.计算总价')
        print('5.退出程序')

        choice = input('请输入您的操作:')

        if choice == '1':
            name = input('请输入商品名称:')
            price = float(input('请输入商品价格:'))
            quantity = int(input('请输入商品数量:'))
            add_to_cart(cart, name, price, quantity)

        elif choice == '2':
            name = input('请输入商品名称:')
            remove_from_cart(cart, name)

        elif choice == '3':
            print('购物车中的商品如下:')
            for item in cart:
                print(f"名称:{item['name']}\t价格: {item['price']}\t数量:{item['quantity']}")

        elif choice == '4':
            price = calculate_total_price(cart)
            print(f'购物车总价为:{price}')

        elif choice == '5':
            break

        else:
            print('输入错误,请重新输入!')

在上述主函数中,我们定义了一个 cart 变量,用来存放所有的购物车商品。接着,我们利用一个 while 循环和 input 函数实现了用户交互。用户可以输入相应的操作来对购物车进行增添、移除、查看、计算总价和退出等操作。在每次用户执行完一个操作后,我们都要重新显示菜单。

我们来看一下主函数的示例输出:

请选择您需要的操作:
1.添加商品
2.移除商品
3.查看购物车
4.计算总价
5.退出程序
请输入您的操作:1
请输入商品名称:商品1
请输入商品价格:10
请输入商品数量:3
3件商品1已经添加到购物车中!
请选择您需要的操作:
1.添加商品
2.移除商品
3.查看购物车
4.计算总价
5.退出程序
请输入您的操作:3
购物车中的商品如下:
名称:商品1       价格: 10.0     数量:3
名称:商品2       价格: 20.0     数量:1
请选择您需要的操作:
1.添加商品
2.移除商品
3.查看购物车
4.计算总价
5.退出程序
请输入您的操作:4
购物车总价为:50.0
请选择您需要的操作:
1.添加商品
2.移除商品
3.查看购物车
4.计算总价
5.退出程序
请输入您的操作:5

以上就是 Python 简单购物车程序的完整攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python如何实现的简单购物车程序 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • Python字符串拆分模式而不删除分隔符

    【问题标题】:Python String Split on pattern without removing delimiterPython字符串拆分模式而不删除分隔符 【发布时间】:2023-04-08 01:18:01 【问题描述】: 我有一根很长的绳子,每当出现某种模式时,我想把它分成更小的毒刺:(在下面的情况下为 123 my) my_str = ‘…

    Python开发 2023年4月8日
    00
  • Python实现仓库管理系统

    Python实现仓库管理系统的攻略 仓库管理系统是一个管理库存、仓储操作、销售等业务的系统,可以对商品进行入库、出库操作,并能够在出库时自动生成出货单等基础功能。Python作为一门高效的编程语言,可以方便地实现这种仓库管理系统。 系统功能设计 首先,对于仓库管理系统的功能设计,我们需要明确以下几个方面的内容: 商品管理功能:可以对货品进行分类、创建、修改、…

    python 2023年5月30日
    00
  • python中如何修改文件?

    修改的概念:对于硬盘上数据的修改, 根本没有改的操作, 只有覆盖操作 修改的流程:文件的修改都是数据加载到内存中, 在内存中修改完再覆盖入硬盘 一.修改方式一 1.修改过程 先以 r 模式打开源文件,将源文件内容全部读入内存 然后在内存中完成修改 再以 w 模式打开源文件,将修改后的内容覆盖入源文件 2.优缺点 优点 : 不须要硬盘预留足够的空间 缺点 : …

    python 2023年4月17日
    00
  • 2019年Python趋势解析!(程序员转型需知)

    2019年Python趋势解析 Python作为一门高级、通用、解释型编程语言, 近年来越来越受到程序员和企业的青睐。本文将分析2019年Python的主要趋势。 Python在程序员领域的应用 Python在程序员领域的应用越来越广泛,从web开发到数据科学,从人工智能到自动化测试。其中最流行的方向是数据科学和人工智能。下面将对这两个领域进行详细介绍。 数…

    python 2023年5月20日
    00
  • Python的UTC时间转换讲解

    我们来详细讲解一下Python的UTC时间转换攻略。 什么是UTC时间? UTC时间是指协调世界时,也叫作世界标准时间,以英国伦敦的本初子午线为参考时间,是国际标准化组织推荐使用的时间标准。 Python中的UTC时间转换 在Python中,我们可以通过datetime库来处理日期时间。其中,datetime.utcnow()函数用于获取当前的UTC时间,d…

    python 2023年6月2日
    00
  • Windows上的python + gtk3?

    【问题标题】:python + gtk3 on windows?Windows上的python + gtk3? 【发布时间】:2023-04-06 22:16:02 【问题描述】: 我正在尝试将一个小应用程序移植到 Windows(我最初是为 ubuntu 制作的),它是在 python + gtk3 上编写的…我知道 gtk3 很难让它在 Window…

    Python开发 2023年4月7日
    00
  • python openpyxl方法 zip函数用法及说明

    Python openpyxl方法和zip函数用法详解 openpyxl方法 openpyxl是python中一个用于操作Excel文件的模块,可以读取、修改和创建Excel文件。它提供了简单的API,用于读写Excel文件。以下是openpyxl的一些常用方法: 打开和读取Excel文件 from openpyxl import load_workbook…

    python 2023年6月5日
    00
  • python使用selenium爬虫知乎的方法示例

    Python使用Selenium爬虫知乎的方法示例 最近,许多人开始将Selenium用于网页爬取,尤其是在需要模拟人为操作的情况下,Selenium可以提供更方便的解决方案。在这篇文章中,我们将学习如何使用Selenium来爬取知乎的数据。 1. 安装Selenium 首先,我们需要安装Selenium模块。可以通过pip包管理器在命令行中输入以下命令来安…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部