python实现超市管理系统(后台管理)

Python实现超市管理系统(后台管理)攻略

介绍

本文将讲解如何使用Python语言实现一个基于命令行的超市管理系统的后台管理部分。该系统允许管理员登录并管理商品信息,包括商品信息的添加、修改、删除、查询等基本操作。

技术栈

  • Python 3.x
  • SQLite3

实现步骤

1. 创建数据库

在本项目中,我们将使用SQLite3作为后台数据库。可以使用Python自带的sqlite3模块进行数据库的操作。

在程序中创建商品表的SQL语句:

CREATE TABLE IF NOT EXISTS products (
    product_id INTEGER PRIMARY KEY AUTOINCREMENT,
    product_name TEXT NOT NULL,
    product_price REAL NOT NULL,
    product_stock INTEGER NOT NULL
);

2. 编写数据操作类

通过Python的面向对象特性,我们可以创建一个Product类,用于描述商品信息,同时提供对商品信息进行CRUD操作的方法。

import sqlite3

class Product:

    def __init__(self, name, price, stock):
        self.name = name
        self.price = price
        self.stock = stock

    @classmethod
    def get_all(cls):
        conn = sqlite3.connect('database.db')
        cursor = conn.cursor()
        cursor.execute(
            '''
            SELECT product_id, product_name, product_price, product_stock
            FROM products;
            '''
        )
        data = cursor.fetchall()
        return [cls(*each) for each in data]

    @classmethod
    def add(cls, name, price, stock):
        conn = sqlite3.connect('database.db')
        cursor = conn.cursor()
        cursor.execute(
            '''
            INSERT INTO products (product_name, product_price, product_stock)
            VALUES (?, ?, ?);
            ''',
            (name, price, stock)
        )
        conn.commit()
        return cursor.lastrowid

    @classmethod
    def update(cls, product_id, name, price, stock):
        conn = sqlite3.connect('database.db')
        cursor = conn.cursor()
        cursor.execute(
            '''
            UPDATE products
            SET product_name=?, product_price=?, product_stock=?
            WHERE product_id=?;
            ''',
            (name, price, stock, product_id)
        )
        conn.commit()

    @classmethod
    def delete(cls, product_id):
        conn = sqlite3.connect('database.db')
        cursor = conn.cursor()
        cursor.execute(
            '''
            DELETE FROM products
            WHERE product_id=?;
            ''',
            (product_id,)
        )
        conn.commit()

3. 实现管理界面

管理界面可以使用命令行实现。管理员可以根据提示,选择不同的操作,来执行相应的操作。

def main():
    while True:
        print('1 - 查询商品信息')
        print('2 - 添加商品信息')
        print('3 - 修改商品信息')
        print('4 - 删除商品信息')
        print('5 - 退出程序')
        choice = input('请选择需要执行的操作:')
        if choice == '1':
            list_products()
        elif choice == '2':
            add_product()
        elif choice == '3':
            update_product()
        elif choice == '4':
            delete_product()
        elif choice == '5':
            print('程序已退出。')
            break
        else:
            print('输入错误,请重新输入。')

在每个操作中,我们可以调用Product类提供的方法,对商品信息进行增删改查操作。例如,在添加商品信息操作中,可以通过下面的代码添加新商品:

def add_product():
    name = input('请输入商品名称:')
    price = float(input('请输入商品价格:'))
    stock = int(input('请输入商品库存:'))

    product_id = Product.add(name, price, stock)
    print(f'商品已添加。商品ID:{product_id}')

示例说明

下面提供两个示例,分别演示了如何添加商品信息及修改商品信息。

示例1:添加商品信息

请选择需要执行的操作:2
请输入商品名称:可乐
请输入商品价格:3.5
请输入商品库存:200
商品已添加。商品ID:1

示例2:修改商品信息

请选择需要执行的操作:3
请输入需要修改的商品ID:1
请输入商品名称:雪碧
请输入商品价格:3.0
请输入商品库存:150
商品已修改。

总结

通过本文的介绍,我们学习了如何使用Python语言实现一个基于命令行的超市管理系统的后台管理部分。在实现过程中,我们了解了如何使用SQLite3进行数据存储和操作,以及如何使用面向对象的方式封装数据操作方法。如果想要完整实现一个超市管理系统,还需要实现前端展示和用户界面,以及其他重要功能,例如登录验证、订单管理、用户管理等。

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

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

相关文章

  • python脚本设置系统时间的两种方法

    下面是针对“python脚本设置系统时间的两种方法”的详细攻略。 方法一:使用os.system()函数调用系统命令 首先要导入os模块 import os 调用系统命令来修改时间 使用date命令可以设置系统时间,具体命令是: date -s "yyyy-mm-dd HH:MM:SS" 其中,”yyyy-mm-dd”表示年月日,”HH:…

    python 2023年5月30日
    00
  • Python THREADING模块中的JOIN()方法深入理解

    Python中的threading模块提供了一些线程操作的方法,其中join()是比较常用的一个方法。本篇攻略将详细介绍join()方法的作用以及使用方法。 什么是join()方法? join()是Thread类中的一个实例方法,其作用是等待所有子线程执行完毕后再继续执行主线程。当主线程调用一个线程的join()方法时,主线程会阻塞等待该线程执行完毕后才继续…

    python 2023年5月19日
    00
  • Gimp,python-fu:RuntimeError:pdb.gimp_image_merge_down 中的执行错误

    【问题标题】:Gimp, python-fu: RuntimeError: execution error in pdb.gimp_image_merge_downGimp,python-fu:RuntimeError:pdb.gimp_image_merge_down 中的执行错误 【发布时间】:2023-04-05 05:50:01 【问题描述】: 我的…

    Python开发 2023年4月5日
    00
  • python实现AES和RSA加解密的方法

    以下是关于 Python 实现 AES 和 RSA 加解密的完整攻略: 什么是 AES 和 RSA 加解密 AES(Advanced Encryption Standard,高级加密标准)和 RSA(Rivest–Shamir–Adleman)都是常用的加密算法。其中,AES 是对称加密算法,加密和解密使用同一个密钥,而 RSA 是非对称加密算法,加密和解密…

    python 2023年6月3日
    00
  • 如何将Python脚本打包成exe应用程序介绍

    当我们需要将 Python 脚本打包成可执行的二进制文件时(exe格式),通常可以使用 PyInstaller 或者 cx_Freeze 等第三方库来进行打包。下面我将为大家介绍如何使用 PyInstaller 和 cx_Freeze 来将 Python 脚本打包成 exe 应用程序。 PyInstaller PyInstaller 安装 可以通过 PyPI…

    python 2023年5月30日
    00
  • pip报错“ValueError: invalid literal for int() with base 10: ‘3.2’”怎么处理?

    当使用Java的Hibernate框架时,可能会遇到“LockAcquisitionException”错误。这个错误通常是由以下原因之一引起的: 并发访问:如果多个线程同时访问同一个对象,则会出现此错误。在这种情况下,需要使用Hibernate的锁定机制来避免并发访问。 死锁:如果多个线程同时持有不同的锁,并且每个线程都试图获取另一个线程持有的锁,则会出现…

    python 2023年5月4日
    00
  • Python删除字符串中字符的四种方法示例代码

    针对这个问题,我将提供以下完整攻略: Python删除字符串中字符的四种方法 Python作为一种脚本语言,提供了丰富的字符串处理方法,其中删除字符串中字符是常见的操作之一。以下是Python删除字符串中字符的四种方法示例代码。 方法一:使用切片操作 str = "Python字符串操作示例" # 删除第一个字符 str = str[1:…

    python 2023年6月3日
    00
  • Python爬取当当、京东、亚马逊图书信息代码实例

    Python爬取当当、京东、亚马逊图书信息代码实例 在爬虫技术的应用中,Python是非常常见的一种语言,其强大的模块和库支持、语言简洁易学,使其成为了爬虫技术的首选语言之一。本篇文章主要讲解如何使用Python爬取当当、京东、亚马逊图书信息,以下是详细步骤: 步骤一:分析页面代码 在爬取页面信息之前,我们首先需要对目标页面的结构进行分析。在本例中,我们以当…

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