Python实现简易超市管理系统

Python实现简易超市管理系统

介绍

本文将介绍如何使用Python实现一个简易的超市管理系统。该系统具有以下功能:

  • 商品管理:添加、删除、修改商品信息。
  • 库存管理:查看商品库存情况。
  • 销售管理:记录销售订单,支持按日期和商品统计销售情况。

实现步骤

1. 确定数据结构

根据系统的功能,我们需要至少三个数据结构:商品信息、库存信息和销售订单。可以使用字典来表示这些信息。

# 商品信息数据结构
products = {
    '101': {'name': '可乐', 'price': 3.50},
    '102': {'name': '雪碧', 'price': 3.50},
    '103': {'name': '果汁', 'price': 5.00}
}
# 库存信息数据结构
inventory = {
    '101': {'quantity': 100},
    '102': {'quantity': 50},
    '103': {'quantity': 30}
}
# 销售订单数据结构
sales = []

2. 实现基本功能

接下来,我们可以实现系统的基本功能,如添加、删除和修改商品信息,以及查看库存信息。

# 添加商品
def add_product(code, name, price):
    if code not in products:
        products[code] = {'name': name, 'price': price}
        inventory[code] = {'quantity': 0}
        return True
    else:
        return False

# 删除商品
def delete_product(code):
    if code in products:
        del products[code]
        del inventory[code]
        return True
    else:
        return False

# 修改商品信息
def modify_product(code, name, price):
    if code in products:
        products[code]['name'] = name
        products[code]['price'] = price
        return True
    else:
        return False

# 查看库存信息
def view_inventory():
    print("Code\tName\tPrice\tQuantity")
    for code, info in products.items():
        name = info['name']
        price = info['price']
        quantity = inventory[code]['quantity']
        print(f"{code}\t{name}\t{price:.2f}\t{quantity}")

3. 实现销售管理

最后,我们可以实现销售管理功能,记录销售订单,并根据日期和商品统计销售情况。

import datetime

# 添加销售订单
def add_sales(code, quantity):
    if code in products:
        if inventory[code]['quantity'] >= quantity:
            inventory[code]['quantity'] -= quantity
            now = datetime.datetime.now()
            sale = {'code': code, 'quantity': quantity, 'date': now}
            sales.append(sale)
            return True
        else:
            return False
    else:
        return False

# 按日期统计销售情况
def sales_by_date(date):
    total = 0
    for sale in sales:
        if sale['date'].date() == date.date():
            code = sale['code']
            price = products[code]['price']
            quantity = sale['quantity']
            total += price * quantity
    print(f"Total sales on {date.date()}: {total:.2f}")

# 按商品统计销售情况
def sales_by_product(code):
    total = 0
    for sale in sales:
        if sale['code'] == code:
            price = products[code]['price']
            quantity = sale['quantity']
            total += price * quantity
    print(f"Total sales of {products[code]['name']}: {total:.2f}")

示例说明

示例1:添加商品和查看库存信息

# 添加商品
>>> add_product('104', '薯片', 6.00)
True
>>> add_product('104', '薯片', 6.00)
False

# 查看库存信息
>>> view_inventory()
Code    Name    Price   Quantity
101     可乐     3.50    100
102     雪碧     3.50    50
103     果汁     5.00    30
104     薯片     6.00    0

示例2:记录销售订单和统计销售情况

# 记录销售订单
>>> add_sales('101', 10)
True
>>> add_sales('101', 50)
False
>>> add_sales('104', 20)
False

# 按日期统计销售情况
>>> sales_by_date(datetime.datetime(2021, 10, 1))
Total sales on 2021-10-01: 35.00

# 按商品统计销售情况
>>> sales_by_product('101')
Total sales of 可乐: 35.00

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现简易超市管理系统 - Python技术站

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

相关文章

  • Python imageio读取视频并进行编解码详解

    Python imageio读取视频并进行编解码详解 Python是一种功能强大的编程语言,可以用于各种任务,包括读取视频并进行编解码。在本文中,我们将详细讲解如何使用Python和imageio库读取视频并进行编解码的过程。 步骤1:安装imageio库 在开始使用imageio库之前,需要先安装它。可以使用以下命令来安装: pip install ima…

    python 2023年5月15日
    00
  • Python实现针对中文排序的方法

    下面是一份关于如何在Python中实现针对中文排序的攻略。 背景 Python的内置方法sorted()可以排序各种类型的数据,但是针对中文排序,使用默认的排序方法并不能达到期望的结果。因此,为了针对中文进行排序,我们需要使用其他一些方法。 解决方案 有很多方法和库可以实现中文排序,如下所述: 1. 使用locale库 locale库提供了一种可以使用当前系…

    python 2023年5月13日
    00
  • Python数据结构与算法之算法分析详解

    下面是关于“Python数据结构与算法之算法分析详解”的完整攻略。 1. 算法分析简介 算法分析是一种用于评估算法效率的方法。在计算机科学中,常见的算法分析方法包括时间复杂度和空间复杂度。 1.1 时间复杂度 时间复杂度是一种用于评估算法执行时间的方法。在Python中,我们可以使用以下代码来计算时间复杂度: import time start_time =…

    python 2023年5月13日
    00
  • python实现尼姆游戏

    下面我来详细讲解如何用Python实现尼姆游戏。 尼姆游戏简介 尼姆游戏是一种经典的数学游戏,由两名玩家轮流取石头,每次可以取走一堆石头中的任意数量,但只能取同一堆石头中的石头,最后没有石头可取的人输掉游戏。常见的尼姆游戏有3堆、5堆、7堆等多种,但规则都是相同的。 实现过程 步骤1:输入游戏的初始状态 首先要输入游戏的初始状态,也就是每堆石头的数量,可以用…

    python 2023年5月19日
    00
  • Python+flask实现restful接口的示例详解

    在Python中,我们可以使用Flask框架实现RESTful API接口。RESTful API是一种基于HTTP协议的API设计风格,可以实现客户端和服务器之间的数据交互。本文将介绍如何使用Python和Flask实现RESTful API接口,并提供两个示例代码。 方法1:使用Flask实现RESTful API接口 使用Flask实现RESTful …

    python 2023年5月15日
    00
  • python提取页面内url列表的方法

    在本攻略中,我们将介绍如何使用Python提取页面内的URL列表。我们将提供两个示例,演示如何使用正则表达式和BeautifulSoup库提取URL列表。 步骤1:获取页面内容 在开始之前,我们需要获取目标页面的内容。我们可以使用Python的requests库或者Scrapy框架来获取页面内容。在本攻略中,我们将使用requests库来获取页面内容。 im…

    python 2023年5月15日
    00
  • python检查字符串是否是正确ISBN的方法

    以下是“Python检查字符串是否是正确ISBN的方法”的完整攻略: 一、问题描述 在图书出版领域,ISBN(International Standard Book Number)是一种用于标识图书的国际标准编号。ISBN由13位数字组成,其中最后一位是校验码。本文将详细讲解如何使用Python检查字符串是否是正确的ISBN,并提供两个示例说明。 二、解决方…

    python 2023年5月14日
    00
  • Python3.5面向对象编程图文与实例详解

    下面我来为您详细讲解“Python3.5面向对象编程图文与实例详解”的完整攻略。 什么是面向对象编程 面向对象编程(Object Oriented Programming,简称 OOP)是一种程序设计思想,它将程序中的实体(称为对象)视为相互作用的个体,通过定义类和对象来实现对实体的描述和处理。在 Python 中,对象可以是一些数据,也可以是一些方法,而类…

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