python实现图书馆借阅管理系统-文件存储

news2025/1/16 11:03:34

《面向对象》案例引入
通过本章的学习,请用面向对象思想实现《图书馆借阅管理系统》的登录注册页面和用户信息维护页面和图书借阅页面。
【功能要求】:
1、用面向对象思想改写上一章的《函数模块》案例引入。
2、增加图书借阅页面。
①学生登录后,可以进入图书借阅页面,实现对书籍的借阅、归还以及查看已借书籍的信息操作。

②管理员登录后,可进入用户信息维护页面和图书借阅页面。可以对学生信息进行增加、删除、修改和查询显示(对用户信息的查询显示);可以对书籍的添加、删除、修改和查询显示(对书籍信息的查询显示);

对《图书馆借阅管理系统》里的用户数据和图书数据改用文件进行存储,用户信息存一个文件user.csv,图书存一个文件book.csv,并实现基本的增删改查操作。加入异常处理。

一、代码 

import csv

class Book:
    def __init__(self, title, author, available=True):
        self.title = title
        self.author = author
        self.available = ava

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1653765.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【自动驾驶|毫米波雷达】卡尔曼滤波

目录 一. 滤波器分类 二.卡尔曼滤波(Kalman Filter)原理 (1)定性理解 (2)定量推导 1. 预测阶段 2. 更新阶段 3. 卡尔曼增益 1)卡尔曼增益 2)如何理解卡尔曼增益? 三…

线程理论篇1

本章问题:什么是线程?线程的使用场景?什么是线程池?线程池是如何工作的?线程池共享了哪些资源?线程安全代码怎么写?什么是线程安全? 什么是线程? 线程是为了提高进程的效率。进程的地址空间中保存了cpu…

紧跟生成式AI暴雨发布新时代推理服务器

近日,暴雨发布最新训推一体AI服务器,以大容量内存和灵活的高速互连选项满足各种AI应用场景,最大可能支持扩展插槽,从而大幅提升智能算力性能,以最优的性能和成本为企业的模型训练推理落地应用提供更好的通用算力。 AIG…

重学java 31.API 3.数学相关类

看似不起波澜的日复一日,会突然在某一天让人看到坚持的意义 —— 24.5.8 数学相关类 1.Math类介绍 1.概述 数学工具类 2.作用 主要用于数学运算 3.特点 a、构造方法私有了 b、方法都是静态的 4.使用 类名直接调用 static int abs(int a) ->求参数的绝对值 stat…

ChatGLM-Math:强化数学能力

大型语言模型(LLM)在文本摘要、问答和角色扮演对话等语言任务上表现出色,在数学推理等复杂问题上也具有应用潜力。 但目前提高 LLM 数学问题解决能力的方法,往往会导致其他方面能力的下降。例如RLHF的方法,虽然可以提…

软考系列必过资料分享-系统架构师-系统分析师-信息系统项目管理师

建议,写在前面 知识点是公用的,原则上不分新旧。每年会有少部分的题目切合当前时间段(也是通过旧的知识演变的) 信息系统项目管理师证书 系统架构师证书 系统分析师证书 资料分享 关注公众号 回复 信息系统项目管理师资料 即可获取信息系统项目管理师资…

翻译《The Old New Thing》 - The new scratch program

The new scratch program - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20050422-08/?p35813 Raymond Chen 2005年4月22日 译注:此篇是 翻译《The Old New Thing》 - The scratch program 姊妹篇,对 scratch 程序作…

【通信】电子科协通信专题

数字通信 最直观的通信方式-基带通信 问题:①无限大的带宽②天线体积

[QTcreator]QT中一个cpp文件如何使用另一个界面的控件

在工作过程中将函数封装成一个类放入一个cpp文件中,但是里面的函数需要运用到其他界面的控件,以此记录昨天的学习。 首先明确一下我需要在vtkfuntion.cpp使用mainwindow.ui中的qvtkwidget控件 step1:更改mainwindow.h 添加需要应用的文件的头文件&…

python:画饼图

我现在因工作需要在写一篇中文文章,领导要我用python处理数据和画图,那我也刚好学习一下python画图。 import matplotlib.pyplot as plt # 饼图数据 labels [A, B, C, D] sizes [15, 30, 45, 10] # 每个部分的大小 # 绘制饼图 plt.figure(figsize(6,…

Spring Web MVC 快速入门

🎥 个人主页:Dikz12🔥个人专栏:Spring学习之路📕格言:吾愚多不敏,而愿加学欢迎大家👍点赞✍评论⭐收藏 目录 什么是Spring MVC? MVC模式介绍 ​编辑学习Spring MVC…

开源数据可视化大屏对接表单数据实践!

如果你需要一个表单系统,进行数据收集;可以使用tduck填鸭进行私有化部署,进行表单制作,完成数据收集。 在实际业务中,往往需要将收集的数据进行展示或分析;此时就可以使用表单数据推送到TReport中&#xf…

详细解读性能测试指标(性能指标、CPU、内存、负载、磁盘)

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 性能测试指标是衡量系统性能的评价标准,常用的系统性…

remmina无法连接远程桌面,Remmina无法连接远程桌面的原因与解决办法

在解决Remmina无法连接远程桌面的问题时,我们需要考虑多种可能的原因,并采取相应的解决办法。以下是一些常见的原因及其对应的解决方案: 1、网络问题 原因:不稳定的网络连接或中断可能导致无法建立远程桌面连接。 解决办法&#x…

环保设备统一管理系统

在环保意识日益增强的今天,企业如何有效管理环保设备,确保其正常运行,减少环境污染,成为了一个重要议题。HiWoo Cloud平台以其独特的环保设备统一管理系统,为企业提供了一套完整的解决方案,帮助企业实现绿色…

量化地形处理

1: 量化地形切片:GDAL查询数据;CTB算法转mesh;高度图需要和周围高度图边界做高度融合,四顶点需要做平均值融合;法线想要在前端显示正确必须将mesh坐标转为4326或者3857; 这个使用开源即可:cesi…

肖特基二极管 SOD-123HE封装 散热性好

肖特基二极管发热问题,一直是众多电子工程师常讨论的话题之一。在实际应用中,肖特基二极管发热量真地不容忽视,其发热量大小和实际工作电流和压降大小有关。针对肖特基二极管发热问题,二三极管厂家东沃电子DOWOSEMI有几点建议&…

怎么编辑百度百科个人词条

辑百度百科个人词条是一个相对复杂的过程,需要遵循一定的步骤和规则。以下是百科优化网整理的编辑百度百科个人词条的步骤和注意事项。 1. 确定编辑资格 百度百科个人词条的编辑权主要赋予那些具有一定影响力的公众人物,或者是有一定“身份”的人物&…

STM32 GPIO介绍

每个GPI/O端口有两个32位配置寄存器(GPIOx_CRL, GPIOx_CRH),两个32位数据寄存器 (GPIOx_IDR和GPIOx_ODR),一个32位置位/复位寄存器(GPIOx_BSRR),一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR)。 通过软件配置寄…

idea修改maven项目名称及子模块名称

一、修改目录名称 shift F6修改目录,选择“rename module and dictionary”。![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/43efd9c6af6e43ad9656455db94b37a2.png)二、修改子项目pom的 三、修改父项目pom的 四、刷新maven项目