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中re.findall()用法详解

    下面是详细的攻略: Python中re.findall()用法详解 在Python中,我们可以使用re.findall()函数来搜索字符串中所有匹配正则表达式的字符串,并返回一个列表。本文将介绍re.findall()函数的用法,并提供两个示例说明。 re.findall()函数的语法 re.findall()函数的语法如下: re.findall(patt…

    python 2023年5月14日
    00
  • 用python的哈希函数对密码加密

    首先需要了解哈希函数的概念:哈希函数是将任意长度的输入内容计算成固定长度的输出值,该输出值通常被称为哈希值或摘要值。哈希函数的一个重要特征是,相同的输入一定会产生相同的输出,但不同的输入会产生不同的输出。在密码保护中,哈希函数通常用于将密码加密存储。当用户输入密码时,系统会将用户输入的密码通过同样的哈希函数计算出哈希值,并与原始哈希值比较,从而判断密码是否正…

    python 2023年6月2日
    00
  • Python 切分数组实例解析

    Python切分数组实例解析 在Python中,切分数组是一种常见的操作,它可以将一个数组切分成多个子数组。本攻略将详细介绍Python中分数组的方法和示。 切分数组的方法 在Python中,切分数组有多种方法,包括使用切片、使用numpy库、pandas库等。是这方法的详细介绍: 使用切片 使用切片是Python中最简单的分数组的方法。切片指通过指起始位置…

    python 2023年5月13日
    00
  • python使用正则表达式匹配txt特定字符串(有换行)

    以下是“Python使用正则表达式匹配txt特定字符串(有换行)”的完整攻略: 一、问题描述 在处理文本数据时,我们经常需要使用正则表达式来匹配特定的字符串。但是,如果文本中包含换行符,我们需要使用特殊的正则表达式来匹配这些字符串。本文将介绍如何使用Python和正则表达式来匹配txt文件中的特定字符串,包括有换行的情况。 二、解决方案 2.1 读取txt文…

    python 2023年5月14日
    00
  • Python实现动态条形图的示例详解

    首先,我会详细讲解一下“Python实现动态条形图的示例详解”的攻略,步骤如下: 示例说明 作为示例,假设我们要实现一个动态条形图,用于展示不同城市的人口数量,我们可以按照行政区划将整个国家分成若干个区域(如北京、上海、广东、江苏等),每个区域再分成若干个城市,用动态条形图展示每个城市的人口数量变化。 第1步:加载依赖库 我们需要使用到matplotlib库…

    python 2023年5月19日
    00
  • odoo wizard界面显示带复选框列表及勾选数据获取

    实践环境 Odoo 14.0-20221212 (Community Edition) 需求描述 如下图(非实际项目界面截图,仅用于介绍本文主题),打开记录详情页(form视图),点击某个按钮(图中的”选取ffers”按钮),弹出一个向导(wizard)界面,并将详情页中内联tree视图(”Offers” Tab页)的列表记录展示到向导界面,且要支持复选框,…

    python 2023年4月22日
    00
  • python3安装pip3(install pip3 for python 3.x)

    下面是关于Python3安装pip3的完整攻略,包含了详细的过程和示例: 1. 检查Python版本号 首先在终端中输入以下命令检查当前Python的版本: python3 –version 如果你的系统中没有安装Python3,则需要先安装Python3,可以参考以下步骤: 在Ubuntu系统中安装Python3 sudo apt-get update …

    python 2023年5月14日
    00
  • Python标准库datetime date模块的详细介绍

    Python标准库datetime date模块的详细介绍 简介 datetime模块是Python标准库中用于处理日期和时间的模块,其中date模块是datetime模块的一个子模块,主要提供了对日期的相关操作和处理。 date模块的常用方法和属性 date.today() 该方法返回当前日期,并以datetime.date对象的形式进行返回。例如: im…

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