python结课报告

一、题目分析

随着现在时代得发展,信息得保护与安全都极为重要,很多企业,公司,学校都采用了信息化的管理,这样能够使得管理工作方便快捷、高效。特别是图书馆的管理工作繁多,使用图书管理系统不仅可以实现信息的高效管理和共享,更能使图书管理工作更加规范化、标准化、科学化和现代化,构建该系统主要是为了方便用户使用,要求界面良好、针对性强、对系统信息的"查插删改“;能够提供良好的信息安全保护机制。

二、系统功能

包括图书的查看,添加,删除,借阅等功能,还有用户注册,用户登录,限制了每个用户只有三次输入密码的机会,三次错误后会自动离开系统

三、详细设计

系统功能包括增删改查,为了让代码更简洁将每一部分功能都用函数封装了起来,这样不仅方便修改,还能明确直到错误出现的地方。还能将代码隐藏起来在以后用户交付时暴露更少的代码。为了方便用户的使用,将常用的函数包装成主函数更方便。

四、测试

1,注册功能测试

在这里插入图片描述

2,登录功能测试

在这里插入图片描述
在这里插入图片描述

3,密码错误三次自动退出测试

在这里插入图片描述

4,查询图书功能测试

查询图书主要代码:

def checkBook(self, name):  # name是返回值for book in self.books:if book.name == name:  # 如果借阅书的名称在已有的图书中,返回书的名称,否则为空return bookelse:return None

在这里插入图片描述

5,删除图书功能测试
删除图书主要代码:

def deleteBook(self):a = input("请输入要删除图书的名字")b = self.checkBook(a)if b != None:self.books.remove(b)print("删除成功")else:print("查无此书,请输入正确的书籍名称")

在这里插入图片描述
在这里插入图片描述

6,添加图书功能测试

添加图书主要代码:

def addBook(self):name = input('图书名称:')self.books.append(Book(name, input('作者:'), 1, input('存储位置:')))print('图书《%s》添加成功' % name)

在这里插入图片描述
在这里插入图片描述

7,借阅图书测试

借阅图书主要代码:

def borrowBook(self):name = input('借阅图书名称: ')ret = self.checkBook(name)print(ret)if ret != None:if ret.status == 0:  # 如果书籍的状态为0,说明此书已借出print('书籍《%s》已经借出' % name)else:ret.status = 0  ##借出后显示书籍的状态为0print('书籍《%s》借阅成功' % name)else:print('书籍《%s》不存在' % name)

在这里插入图片描述
在这里插入图片描述

8,归还图书测试

归还图书主要代码:

def returnBook(self):name = input('归还图书名称:')ret = self.checkBook(name)if ret != None:if ret.status == 0:ret.status = 1print('书籍《%s》归还成功' % name)print(ret)else:print('书籍《%s》未借出' % name)else:print('书籍《%s》不存在' % name)

在这里插入图片描述

9,退出系统

在这里插入图片描述

五、遇到的问题及解决办法

其中遇到最多的问题就是语法问题,很多地方都是语法用错导致的错误,就例如删除列表中的元素,虽然有几种方法但是最适合的还是remove方法,看了别人使用的方法后,才明白把函数封装成主函数就不用一直使用循环占用资源了,不仅有更快的速度,而且代码看起来更简洁,使用起来也更方便。有很多不会的语法,以及进程运行中爆出的错误,都是直接在网络上寻找答案,很多我的问题都早就有人遇见过了,通过借鉴别人的经验,就能够解决这样的问题。

最后附上全部代码:

class User:def __init__(self):self.usr_info = {"me": "123456", "my": "123456"}def register(self):       # 定义注册方法print("<注册模式>".center(50, "*"))usr = input("请输入用户名:")pwd = input("请输入密码:")if usr in self.usr_info.keys():print("该用户已被注册,请重新输入新用户名!")self.register()else:self.usr_info[usr] = pwdprint("注册成功,您的登录用户名是:%s 密码是:%s," % (usr, pwd))x = input("是否使用新用户名密码登录?登录请输入1,退出请输入2:")if x == "1":self.login()else:print("退出系统,欢迎下次使用。")returndef login(self):       # 定义登录方法print("登录系统 ".center(50, "*"))for i in range(3):usr = input("请输入用户名:")pwd = input("请输入密码:")if usr in self.usr_info.keys():if pwd == self.usr_info[usr]:class Book(object):def __init__(self, name, author, status, bookindex):self.name = nameself.author = authorself.status = statusself.bookindex = bookindexdef __str__(self):if self.status == 1:stats = '未借出'elif self.status == 0:stats = '已借出'else:stats = '状态异常'return '书名: 《%s》 作者: %s 状态: <%s> 位置: %s' \% (self.name, self.author, stats, self.bookindex)class BookManage(object):books = []def start(self):self.books.append(Book('python', 'guido', 1, 'ISO9001'))self.books.append(Book('c', '张三', 1, 'NFS8102'))self.books.append(Book('java', 'westos', 1, 'PKA7844'))# 0:借出 1:存在# python 1# c 1# java 1def Menu(self):self.start()while True:print("""图书管理系统1.查询图书2.增加图书3.借阅图书4.归还图书5.退出系统6.删除书籍""")choice = input('请选择:')if choice == '1':self.showAllBook()elif choice == '2':self.addBook()elif choice == '3':self.borrowBook()elif choice == '4':self.returnBook()elif choice == '5':print('欢迎下次使用...')exit()elif choice == '6':self.deleteBook()else:print('请输入正确选择')continuedef showAllBook(self):for book in self.books:print(book)def addBook(self):name = input('图书名称:')self.books.append(Book(name, input('作者:'), 1, input('存储位置:')))print('图书《%s》添加成功' % name)def checkBook(self, name):  # name是返回值for book in self.books:if book.name == name:  # 如果借阅书的名称在已有的图书中,返回书的名称,否则为空return bookelse:return Nonedef borrowBook(self):name = input('借阅图书名称: ')ret = self.checkBook(name)print(ret)if ret != None:if ret.status == 0:  # 如果书籍的状态为0,说明此书已借出print('书籍《%s》已经借出' % name)else:ret.status = 0  ##借出后显示书籍的状态为0print('书籍《%s》借阅成功' % name)else:print('书籍《%s》不存在' % name)def returnBook(self):name = input('归还图书名称:')ret = self.checkBook(name)if ret != None:if ret.status == 0:ret.status = 1print('书籍《%s》归还成功' % name)print(ret)else:print('书籍《%s》未借出' % name)else:print('书籍《%s》不存在' % name)def deleteBook(self):a = input("请输入要删除图书的名字")b = self.checkBook(a)if b != None:self.books.remove(b)print("删除成功")else:print("查无此书,请输入正确的书籍名称")manager = BookManage()manager.Menu()print("登录成功!")breakelse:print("密码输入错误,请重新输入!")else:print("用户名错误,请重新输入!")print("这是第%s次输入错误,还剩%s次机会。" % (i + 1, 2 - i))else:print("超过最大验证次数,登录失败!")def main():             # 定义主函数user = User()     # 创建user对象print("欢迎使用图书管理系统".center(100, "-"))print("注册请输入0,登录请输入1,退出请输入2".center(95, "-"))select = input("请选择你要进行的操作:")if select == "0":user.register()     # 调用注册成员方法elif select == "1":user.login()elif select == "2":print("退出系统!欢迎再次使用。")returnelse:print("输入有误,请重新输入!")main()

以上这些就是为了应付老师写的python结课报告,质量不太行,主要是为了以后能给自己留一个回忆的地方,如果有能用的上的但取无妨。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部