实验报告
实验题目:基于 Python 的图书管理程序设计
课程名: 软件工程专业导论与职业生涯规划(II)
实验日期:
空着
姓名:
学号:
成绩评定:
======================================================================
实验 2 基于 Python 的图书管理程序设计
1.实验目的
重点: 基于 Python 设计一款图书管理程序(Dos 终端)
难点: 数据结构设计、算法性能优化,交互式设计
2.实验环境
Python2.X 或 Python3.X
3.实验要求
掌握 Python 语言的基本语法、常用库函数;
使用 Python 语言设计一款图书管理程序(可仅限于 Dos 终端)
4.实验内容
使用 Python 语言开发一个图书管理程序,实现如下图所示的图
书的管理功能。功能具体包括:新增、查看、删除、借出、归还和退
出。程序可参照以下步骤进行开发:
(1)数据初始化
使用文件保存图书信息;每本图书的信息包含:图书编号、名称、
是否可借的状态、借出的日期、借出的次数。
(2)查看图书信息
使用 for 循环遍历显示每个图书的信息。
(3)新增图书信息
向文件中存储新增图书的信息。
(4)删除图书信息
按照输入的名称,删除指定图书信息;删除借出状态的图书和不
存在的图书时,都要给出相应提示。
(4)借出图书业务处理
按照输入的名称,借出指定图书;判断输入的日期是否在 1-31
之间;若该图书已借出或没有该图书,都要给出相应提示。
(6)归还图书业务处理
实现归还图书,并计算租金;如果用户输入的日期大于 31 或者小
于借出日期将提示用户重新输入;如果归还未借出的图书、不存在的
图书或者归还图书的时间不合理则分别给出相应提示。
(7)菜单切换
使用 switch 语句实现菜单选择;使用 do-while 循环来实现返回和
退出。
该程序的部分效果如下图所示。
5.实验问题
(1)总菜单界面截图:
(2)新增图书操作界面截图:
(3)查看图书操作界面截图:
(4)删除图书操作界面截图:
(5)借出图书操作界面截图:
(6)归还图书操作界面截图:
(7)退出系统操作界面截图:
6.实验总结 (不少于 200 字,侧重对实现过程所遇问题的总结)
1)代码不够简洁。Python 这一门语言有很多的技巧去处理一些细小的问题,
而这些技巧是需要对 Python 的不断熟练才能够很好的掌握,而本人由于知识
所限,对于 Python 这一本语言不够熟练,因此代码看起来有一些累赘,不够
简洁明了。
2)基础不够扎实。由于在自学过程中是断断续续的学习,所以知识不是很
连贯,而在自学的时候课本的内容及视频讲解的不是很详细,因此对于很多知
识的用法都是依靠上网查找资料。
3)算法水平低。在处理一些问题的时候,一般都是运用暴力的方法解决,
没有让人能够眼前一亮的方法。
7.源代码 (请直接复制到 word,注意格式对齐)
import datetime
import os
import time
#1.显示函数
def printf() :
print("欢迎使用迷你图书管理器")
print("---------------------------")
print("1.新增图书")
print("2.查看图书")
print("3.删除图书")
print("4.借出图书")
print("5.归还图书")
print("6.退出图书")
print("--------------------------")
#2.添加函数
def add(books) :
name = input('请输入新增图书的名字:')
if name in books :
print("图书馆已经存在该书")
else :
number = input("请输入新增图书的编号:")
print("新增图书《%s》成功" % name)
books[name] = {'图书编号':number, '图书名称':name, '图书是否可借':"是", '
图书借出的日期':"2000-01-01", '图书借出的次数':"0"}
return books
#3.查看图书
def look(books) :
for each in books.values() :
for key,value in each.items() :
'+value)
print(key+':
print('\n')
#4.删除图书
def delete(books) :
name = input("请输入需要删除的图书的名字:")
if name in books :
if books[name]["图书是否可借"] == '否' :
print("删除失败,该书已借出,待归还才可删除")
else :
del books[name]
print("删除成功")
else :