教你用python实现一个无界面的小型图书管理系统

教你用 Python 实现一个无界面的小型图书管理系统

简介

本文将介绍如何用 Python 实现一个无界面的小型图书管理系统。该图书管理系统包括以下功能:

  • 显示所有图书
  • 按照图书名称搜索图书
  • 按照图书作者搜索图书
  • 借出图书
  • 归还图书

准备工作

在开始实现前,需要先安装 Python3 和相关模块。本文采用的是 SQLite 数据库,需要安装 SQLite3 模块。

安装方式:

  1. 安装 Python3(略)

  2. 安装 SQLite3 模块

pip install pysqlite3

数据库设计

在实现前,需要先设计数据库。本文使用了一张表格 books,该表格包括以下字段:

字段名 类型 描述
id INTEGER 图书ID
name TEXT 图书名称
author TEXT 图书作者
borrowed INTEGER 是否被借出,0 表示未借出,1 表示已借出

设计 SQL 语句如下:

CREATE TABLE IF NOT EXISTS books (
    id INTEGER PRIMARY KEY, 
    name TEXT, 
    author TEXT,
    borrowed INTEGER
);

实现步骤

创建数据库连接

首先,需要创建数据库连接,这里使用 SQLite3 连接,连接方式如下:

import sqlite3

conn = sqlite3.connect('books.db')

创建表格

接下来,需要创建表格,根据刚刚设计的 SQL 语句,在 Python 中实现如下:

cursor = conn.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS books (
                    id INTEGER PRIMARY KEY,
                    name TEXT,
                    author TEXT,
                    borrowed INTEGER
                )''')

添加图书

然后,需要实现添加图书的功能。添加图书需要用户输入图书的名称和作者,然后将图书插入到数据库中。实现示例如下:

def insert_book(conn, name, author):
    cursor = conn.cursor()
    cursor.execute("INSERT INTO books (name, author, borrowed) VALUES (?, ?, ?)", (name, author, 0))
    conn.commit()

显示所有图书

接着,需要实现显示所有图书的功能。实现示例如下:

def display_all_books(conn):
    cursor = conn.cursor()
    cursor.execute("SELECT * FROM books")
    rows = cursor.fetchall()
    for row in rows:
        print(row)

根据图书名称搜索图书

实现搜索功能。用户输入图书名称后,根据图书名称搜索图书,并将结果显示出来。实现示例如下:

def search_books_by_name(conn, name):
    cursor = conn.cursor()
    cursor.execute("SELECT * FROM books WHERE name=?", (name,))
    rows = cursor.fetchall()
    for row in rows:
        print(row)

根据图书作者搜索图书

同样地,实现搜索功能。用户输入图书作者后,根据图书作者搜索图书,并将结果显示出来。实现示例如下:

def search_books_by_author(conn, author):
    cursor = conn.cursor()
    cursor.execute("SELECT * FROM books WHERE author=?", (author,))
    rows = cursor.fetchall()
    for row in rows:
        print(row)

借出图书

实现借出功能。用户输入借出的图书 ID ,将 borrowed 字段置为 1。实现示例如下:

def borrow_book(conn, id):
    cursor = conn.cursor()
    cursor.execute("UPDATE books SET borrowed=? WHERE id=?", (1, id,))
    conn.commit()

归还图书

最后,实现归还功能。用户输入归还的图书 ID ,将 borrowed 字段置为 0。实现示例如下:

def return_book(conn, id):
    cursor = conn.cursor()
    cursor.execute("UPDATE books SET borrowed=? WHERE id=?", (0, id,))
    conn.commit()

总结

至此,一个无界面的小型图书管理系统就实现了。在实现该系统时,我们主要涉及了 Python 语言基础,SQLite3 数据库操作,以及实现命令行界面。

以上实现方式仅供参考,实际情况可能因需求不同而略有差异。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:教你用python实现一个无界面的小型图书管理系统 - Python技术站

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

相关文章

  • 深入理解Python虚拟机中整型(int)的实现原理及源码剖析

    深入理解Python虚拟机中整型(int)的实现原理及源码剖析 Python中的整型(int)是一种基本数据类型,用于表示整数。在Python虚拟机中,整型的实现原理是非常重要的。本文将深入探讨Python虚拟机中整型的实现原理及源码剖析。 整型对象的结构 在Python虚拟机中,整型对象的结构由PyIntObject定义。以下是PyIntObject的定义…

    python 2023年5月15日
    00
  • python 使用csv模块读写csv格式文件的示例

    当需要处理大量的数据时,我们通常会使用csv格式的文件存储和读取数据,而Python中的csv模块就是一个很好地处理这种文件格式的工具。 使用csv模块读取csv格式文件1. 导入csv模块 import csv 打开csv文件 可以使用 Python 中的 open 函数打开 csv 文件,可以指定文件名、文件模式(读取模式 r、写入模式 w、追加模式 a…

    python 2023年5月20日
    00
  • 一文教你用python编写Dijkstra算法进行机器人路径规划

    一文教你用Python编写Dijkstra算法进行机器人路径规划 Dijkstra算法是一种用于寻找图中最短路径的算法,它的基本思想是从起点开始逐步扩展到离起点越来越远的节点,直到到达终点为止。在这个过程中,我们维护一个距,用于记录每个节点到起点的距离,以及一个前驱数组用于记录每个节点的前驱节点。在算法结束后,可以通过前驱数组来重构最短路径。 在本文中,我们…

    python 2023年5月14日
    00
  • 使用实现pandas读取csv文件指定的前几行

    使用Pandas读取CSV文件指定的前几行可以通过read_csv()方法的nrows参数来指定。具体的攻略如下: 导入Pandas库 import pandas as pd 使用read_csv()方法读取CSV文件,并指定nrows参数 df = pd.read_csv(‘file.csv’, nrows=5) 其中,’file.csv’表示CSV文件的…

    python 2023年6月3日
    00
  • 如何用python绘制雷达图

    下面是如何用Python绘制雷达图的完整攻略: 1. 简介 雷达图又叫蜘蛛网图、极坐标图,是通过在同一张图表上描绘多个相关变量的方法,通常用于展示相对值。如何用 Python 绘制雷达图呢?可以使用 Matplotlib 库中的 Polar(极坐标)功能进行绘制,接下来我们就来一步一步讲解。 2. 准备工作 在开始绘制雷达图之前,我们需要先引入 NumPy …

    python 2023年5月18日
    00
  • Python实现自动整理文件的示例代码

    下面是Python实现自动整理文件的示例代码的完整攻略,包含以下步骤: 创建项目目录 首先,我们需要在本地创建一个项目目录,作为我们整理文件的基础。可以选择在桌面或其他文件夹中创建,以下是示例目录结构: automate-files/ ├── organize.py ├── desktop/ │ ├── documents/ │ ├── images/ │ …

    python 2023年5月19日
    00
  • python 队列详解及实例代码

    Python 队列详解及实例代码 队列是一种基本数据结构,它按照先进先出 (FIFO) 的方式管理数据。Python 中的 queue 模块提供了多种队列实现方式,包括先进先出队列、后进先出队列和优先级队列等,本文将详细介绍 Python 中常用的队列实现方式及其使用方法。 先进先出队列 (FIFOQueue) 先进先出队列是最常见的队列实现方式,它按照元素…

    python 2023年5月31日
    00
  • Python中遍历列表的方法总结

    Python中遍历列表的方法总结 在Python中,列表是一种常见的数据类型,它可以包含任意类型的数据,包括数字、字符串、元组、列表、字典等。在处理列表时,遍历列表是一种常见的操作。本攻略将介绍Python中遍历列表的方法,并提供多个示例说明。 方法一:使用for循环遍历列表 使用for循环遍历列表是Python中最常用的方法之一。以下是一个示例代码,演示如…

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