iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >怎么用python编写图书管理系统
  • 659
分享到

怎么用python编写图书管理系统

2023-06-29 11:06:23 659人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

这篇“怎么用python编写图书管理系统”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用Python编写图书管理系统”文

这篇“怎么用python编写图书管理系统”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用Python编写图书管理系统”文章吧。

题目:写一个简单的图书借阅系统‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

学校二手书是个大市场,A老师决定涉足这个领域,她需要写一个图书管理系统帮她管理书籍的借阅情况,她希望这个程序可以做到:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

查询书籍:可以一键查询系统里所有书籍的信息和借阅情况‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬
2. 添加书籍:往系统添加书籍时,需要输入书籍的基本信息(书名,作者,推荐理由)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬
3. 借阅书籍:当书籍的状态是“未借出”的时候,书籍才可以借,借出以后的书籍状态为“已借出”‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬
4. 归还书籍:归还成功后书籍的状态会更改成“未借出”,下一个同学可以再借了。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

既然已经学习了类和对象,所以不用考虑其他编程模式。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

类的两种用法:1. 类作为实例对象的模板 2. 类作为函数包。第一种用法是使用类生成实例对象。类作为实例对象的模版,每个实例创建后,都将拥有类的所有属性和方法。第二种用法是用类将多个函数(方法)打包封装在一起,让类中的方法相互配合。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

项目中,处理的对象是每本具体的书籍,每本书都有自己的属性信息,由此,可以定义一个Book类,利用Book类创建一个个书的实例,绑定属性(第一种用法)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

而对于而这个管理系统的运行主体,是多个可供选择的功能的叠加,所以我们可以创建一个系统运行类BookManager,将查询书籍、添加书籍等功能封装成类中的方法以供调用(第二种用法)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

课堂上,我们已编写了基本功能,见附件1BookRent.py‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

------------------------------------------‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

对程序进行改造升级:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

图书信息从CSV文件获取(附件2),注意在借阅和归还时修改图书的状态‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬
2. 考虑对书籍进行分类:继承Book类,创建一些子类,例如,FictionBook,改造其初始化方法,增加参数type=‘玄幻类’‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬
3. 实现模糊查询:例如,让用户输入作者名,就能打印出系统里该作者所有书籍的相关信息;输入玄幻类,打印出所有这类书籍的相关信息

CSV表格部分如下:

怎么用python编写图书管理系统

代码:

coding = utf-8import csvfrom itertools import isliceimport pandas as pdimport osclass Book:    def __init__(self, name, author, recommendation, type, status=0):  # 对实例属性进行初始化        self.name = name        self.author = author        self.recommendation = recommendation        self.status = status        self.type = type    def __str__(self):        if self.status == 1:            status = '已借出'        else:            status = '未借出'        return '名称:《%s》作者:%s 推荐语:%s 类别: %s 状态:%s ' % (self.name, self.author, self.recommendation, self.type, status)class FictionBook(Book):    def __init__(self, type='奇幻'):        self.type = typeclass NovelBook(Book):    def __init__(self, type='小说'):        self.type = typeclass JottingsBook(Book):    def __init__(self, type='随笔'):        self.type = typeclass BookManager:    books = []    def __init__(self):        f = open('BookInfos.csv', 'r')        readers = csv.reader(f)        for row in islice(readers, 1, None):            self.books.append(Book(row[0], row[1], row[2], row[3], row[4]))        f.close()    def menu(self):  # 显示选择菜单,根据不同菜单的选项调用不同的方法        print('欢迎使用大数据团队图书节约系统,每本书都是好书,希望钟老师的市场越来越好。\n')        while True:            print(' 1.查询书籍\n 2.添加书籍\n 3.借阅书籍\n 4.归还书籍\n 5.退出系统\n')            choice = int(input('请输入数字选项对应的功能,例如:1(指....)'))            if choice == 1:                self.show_all_book()            elif choice == 2:                self.add_book()            elif choice == 3:                self.lend_book()            elif choice == 4:                self.return_book()            elif choice == 5:                print('感谢使用!欢迎下次再来!')                break    def show_all_book(self):  # 显示书籍信息        print("1.查询作者相关书籍\n2.查询类别相关书籍\n3.查询所有书籍")        ch = eval(input('请输入你的选择:例如:1(指....)'))        if ch == 1:            author = input("请输入作者名字:")            for book in self.books:                if book.author == author:                    print('')                    print(book)        elif ch == 2:            type = input("请输入书籍类别:")            for book in self.books:                if book.type == type:                    print('')                    print(book)        elif ch == 3:            for book in self.books:                print('')                print(book)        else:            print("您的输入有误噢!")    def add_book(self):  # 添加书籍        new_name = input('请输入书籍的名字:')        new_author = input('请输入书籍的作者:')        new_comment = input('请输入书籍的推荐语:')        new_type = input('请输入书籍的类别:')        new_book = [new_name, new_author, new_comment, new_type, 0]        # 写入CSV文件        f = open('BookInfos.csv', 'a+')        writer = csv.writer(f)        writer.writerow(new_book)        f.close()        # 改变books[]        self.books.append(Book(new_book[0], new_book[1], new_book[2], new_book[3], new_book[4]))        print('书籍录入成功!\n')    def check_book(self, name):  # 检查是否存在该书籍        for book in self.books:            if book.name == name:                return book        else:            return -1    def lend_book(self):  # 借阅书籍        name = input('请输入你想借阅的书籍名字:')        res = self.check_book(name)        if res != -1:            if res.status == 1:                print('你来晚了,这本书已经被借走了')            else:                print('借阅成功!借了不看会变胖~~~')                res.status = 1                manager.change_status(name)        else:            print('这本书暂时没有在系统里!')    def return_book(self):  # 归还书籍        name = input('请输入归还书籍的名字:')        res = self.check_book(name)        if res == -1:            print('没有这本书,你恐怕输错书名了~')        else:            if res.status == 0:                print('这本书没有被借走!')            else:                print('归还成功')                res.status = 0                manager.change_status(name)                # 这里我做实验时有些些问题,去掉manager.会出现 name is not defined 学艺不精,还不够了解python,见谅    @staticmethod    def change_status(name):  # 修改CSV文件中借还书籍的状态        in_file = open("BookInfos.csv", "r")        reader = csv.reader(in_file)        out_file = open("BookInfos1.csv", "w", newline='')        writer = csv.writer(out_file)        for row in reader:            if row[0] == name:                if row[4] == '0':                    row[4] = '1'                else:                    row[4] = '0'            writer.writerow(row)        in_file.close()        out_file.close()        os.remove("BookInfos.csv")  # 删除原文件        os.rename("BookInfos1.csv", "BookInfos.csv")  # 重命名写入文件,此法不可取,但是我暂时找不到好的方法了        print("已修改CSV文件")        # 这里我做实验时也有些些问题。1.不会修改特定单元格,2.选择了修改后替换原文件的方法,此法若真实用于大型文件管理,会导致效率大幅度降低,不可取,见谅manager = BookManager()manager.menu()

以上就是关于“怎么用python编写图书管理系统”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网Python频道。

--结束END--

本文标题: 怎么用python编写图书管理系统

本文链接: https://www.lsjlt.com/news/324414.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么用python编写图书管理系统
    这篇“怎么用python编写图书管理系统”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用python编写图书管理系统”文...
    99+
    2023-06-29
  • python编写图书管理系统
    本文实例为大家分享了python实现图书管理系统的具体代码,供大家参考,具体内容如下 题目:写一个简单的图书借阅系统‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪...
    99+
    2024-04-02
  • C++编写实现图书管理系统
    C++编写的一个图书管理系统,供大家参考,具体内容如下 2018大一的课设,搬到这纪念一下,共1200多行代码 为图书管理人员编写一个图书管理系统,图书管理系统的设计主要是实现对图书...
    99+
    2024-04-02
  • python实现图书管理系统的代码怎么写
    这篇文章主要介绍“python实现图书管理系统的代码怎么写”,在日常操作中,相信很多人在python实现图书管理系统的代码怎么写问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python实现图书管理系统的代码...
    99+
    2023-06-29
  • 如何使用C++编写实现图书管理系统
    这篇文章将为大家详细讲解有关如何使用C++编写实现图书管理系统,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下为图书管理人员编写一个图书管理系统,图书管理系统的设计主要是实现对图书的管理和相关操...
    99+
    2023-06-29
  • 怎么用Python帮学校写了一款图书管理系统
    今天就跟大家聊聊有关怎么用Python帮学校写了一款图书管理系统,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。话不多说,直接正文开始,话说才吃个饭是不是亏了,是不是又奖金没给我!简单...
    99+
    2023-06-16
  • Python实现图书管理系统设计的代码怎么写
    本篇内容介绍了“Python实现图书管理系统设计的代码怎么写”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!基于python的tkinter,...
    99+
    2023-06-29
  • 怎么用Java实现图书管理系统
    这篇文章主要讲解了“怎么用Java实现图书管理系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Java实现图书管理系统”吧!目录设计准备一、系统开发目的和意义二、系统总体设计主页:系...
    99+
    2023-06-20
  • 【JAVASE】图书管理系统
    ⭐ 作者:小胡_不糊涂 🌱 作者主页:小胡_不糊涂的个人主页 📀 收录专栏:浅谈Java 💖 持续更文,关注博主少走弯路,谢谢大家支持 Ǵ...
    99+
    2023-10-01
    java
  • C++实现图书馆管理系统的代码怎么写
    这篇文章主要介绍“C++实现图书馆管理系统的代码怎么写”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C++实现图书馆管理系统的代码怎么写”文章能帮助大家解决问题。总体思想用C++开发图书馆管理系统需...
    99+
    2023-06-29
  • Django图书管理系统怎么实现
    本篇内容主要讲解“Django图书管理系统怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Django图书管理系统怎么实现”吧!项目使用python开发,采用Django框架,数据库采用M...
    99+
    2023-07-02
  • Java怎么实现图书管理系统
    本篇内容主要讲解“Java怎么实现图书管理系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java怎么实现图书管理系统”吧!一、项目简述功能包括(管理员和学生角色): 管理员和学生登录,图书管...
    99+
    2023-06-21
  • shell怎么实现图书管理系统
    这篇文章主要介绍了shell怎么实现图书管理系统,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下#!/bin/bash #author:zhanghong...
    99+
    2023-06-09
  • 基于python实现图书管理系统
    本文实例为大家分享了python实现图书管理系统的具体代码,供大家参考,具体内容如下 添加新书 查询 借阅 二次添加新书(读取已有的.xls并修改) 代码: imp...
    99+
    2024-04-02
  • Python实现图书管理系统设计
    基于python的tkinter,将图书管理系统的界面进行简单的开发,我在这里使用的方法比较简单理解,但是代码过于繁多。添加、删除及修改并未使用数据库,而是使用了csv文件的读取操作...
    99+
    2024-04-02
  • python模拟实现图书管理系统
    本文实例为大家分享了python实现图书管理系统的具体代码,供大家参考,具体内容如下 软件python 事先用代码写一个存储数据的数据库,也就是,.txt文件这是我模拟的一个数据 d...
    99+
    2024-04-02
  • Python实现图书借阅管理系统
    本篇文章将编写一个python简易的图书借阅管理系统,可以实现一些基本的功能。 图书借阅管理系统需求分析: 1. 书籍的属性信息:书名, 作者, 借阅状态(借出数量, 未借的数量)2...
    99+
    2024-04-02
  • python实现简易图书管理系统
    本文实例为大家分享了python实现简易图书管理系统的具体代码,供大家参考,具体内容如下 一、设计需求 1.添加书籍2.查询数据3.借书 存储方式 ,用excel保存到硬盘上或者用....
    99+
    2024-04-02
  • Django之图书管理系统
              出版社的增删改查  展示出版社列表:    1. 创建一个表结构:           2. 再配合那俩条命令即可创建一个press表          创建出版社函数,并在url中进行配置          创建HT...
    99+
    2023-01-30
    图书管理系统 Django
  • Java+MySQL 图书管理系统
    目录一,功能二,工具三、效果图:四、数据库设计五、JAVA层次分析六、主要Java代码分析一,功能 管理员登录 图书借阅信息管理 图书信息管理 管理员更改密码 退出系统 二,工具 E...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作