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

yizhihongxing

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: alternative to anonymous functionspython:匿名函数的替代品 【发布时间】:2023-04-01 18:02:01 【问题描述】: Python 不支持复杂的匿名函数。有什么好的选择?例如: class Calculation: def __init__(self, func): self.…

    Python开发 2023年4月8日
    00
  • Python生成任意范围任意精度的随机数方法

    生成随机数是Python编程中很常见的操作。Python提供了一个标准库random,可以用于生成随机数。但是,由于Python默认的随机数生成器的种子是时间,而且在一些情况下生成的随机数并不能满足特定要求,因此需要使用其他的方法实现生成任意范围任意精度的随机数。 以下是Python生成任意范围任意精度的随机数的攻略: Step 1: 导入必要的库 为了能够…

    python 2023年6月3日
    00
  • Python入门之modf()方法的使用

    当我们需要将浮点数拆分为整数和小数部分时,我们可以使用 Python 内置的 modf() 方法。此方法会返回一个包含整数和小数部分的元组,并且该方法对应 math 模块的 modf() 函数。 使用方法 modf() 的用法如下: import math math.modf(x) 其中,x 为需要拆分的浮点数。 modf() 方法返回一个包含两个元素的元组…

    python 2023年5月14日
    00
  • Python+decimal完成精度计算的示例详解

    Python + Decimal 实现精度计算攻略 在进行高精度数值计算时,普通浮点数(float)已经无法满足需求,Python中的decimal模块提供了一种精度可控的浮点数解决方案。 1. 安装decimal模块 在Python3环境下,decimal模块已经默认被安装,可以直接使用。 2. 基本使用 decimal模块提供了Decimal类,通过实例…

    python 2023年6月3日
    00
  • python关于excel多个sheet的导入导出方式

    下面我将为您提供一个完整的“Python关于Excel多个Sheet的导入导出方式”的实例教程。 导入所需模块 我们将使用pandas和xlrd模块来处理Excel文件。其中pandas用于数据处理,xlrd用于读取Excel文件数据。 import pandas as pd import xlrd 从Excel文件中读取多个sheet 我们可以使用Pand…

    python 2023年5月13日
    00
  • python中的Numpy二维数组遍历与二维数组切片后遍历效率比较

    让我们来详细讲解一下Python中的Numpy二维数组遍历与二维数组切片后遍历效率比较。 1. Numpy二维数组遍历 在Python中,用Numpy库创建一个二维数组非常简单,但是对于大规模的矩阵运算来说,如果没有选择合适的方式来遍历数组,会严重影响代码的运行效率。下面是一个简单的二维数组遍历示例: import numpy as np # 创建一个3行4…

    python 2023年6月6日
    00
  • Python字符串的拆分与连接详解

    Python字符串的拆分与连接是Python编程中十分常见且重要的操作。本文将从字符串的含义、字符串拆分和字符串连接三个方面详细讲解Python字符串的拆分与连接。 字符串的含义 字符串指的是一串符号的集合,在Python中用一对引号(’ ‘或” “)括起来表示。字符串可以是数字、字母、符号等一切可以使用键盘输入的内容。在Python中,字符串是不可变的,也…

    python 2023年6月5日
    00
  • 详解Python利用random生成一个列表内的随机数

    关于“详解Python利用random生成一个列表内的随机数”的攻略,我可以给出以下几条说明: 1. 导入random模块 在Python中使用random模块来生成随机数,因此首先需要导入random模块。可以使用以下代码进行导入: import random 2. 利用random.randint()方法生成随机数 在Python中可以使用random.…

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