基于Python如何制作简单的图书管理系统
Admin 2022-07-18 群英技术资讯 1186 次浏览
这篇文章给大家介绍了“基于Python如何制作简单的图书管理系统”的相关知识,讲解详细,步骤过程清晰,有一定的借鉴学习价值,因此分享给大家做个参考,感兴趣的朋友接下来一起跟随小编看看吧。本文实例为大家分享了python实现图书管理系统的具体代码,供大家参考,具体内容如下
添加新书

查询


借阅


二次添加新书(读取已有的.xls并修改)


代码:
import xlwt
import xlrd
def read_old_data(row0_len):
try:
filename=".\图书.xls"
old_data = []#读取表格已有内容
data = xlrd.open_workbook(filename)
sheet0 = data.sheet_by_index(0)
nrows = sheet0.nrows #获取该sheet中的有效行数
print("Info:读取到已有数据表格")
print("有效行数:",nrows)
for i in range(nrows):
for j in range(row0_len):
old_data.append(sheet0.cell(i,j).value)
print("共有旧的数据:",len(old_data))
except IOError:
print("Info: 没有找到文件或读取文件失败/n1 =>新建图书.xls文件")
nrows=0
return old_data,nrows
def new_book():
book = []
print_value=("书名","作者","编号","位置","数量")
row0_len=len(print_value)#列数
input_value=''
'''
try:
'''
(old_data,nrows)=read_old_data(row0_len)
#打开存储
book_excel = xlwt.Workbook()
sheet1 = book_excel.add_sheet("books",cell_overwrite_ok=0)
#写入旧数据:
for i in range(nrows):
for j in range(row0_len):
sheet1.write(i,j,old_data[(i*row0_len)+j])
while(1):
print("添加新书")
#输入
for i in range(row0_len):
print("请输入:"+print_value[i])
input_value = input()
#判断是否输出
if(input_value == 'q'):
book_excel.save("图书.xls")
return
book.append(input_value)
#保存到硬盘
for i in range(row0_len):
sheet1.write(nrows,i,book[i])
nrows=nrows+1
book=[]#清空book缓存
return
def search():
#打开excel
book_excel = xlrd.open_workbook("图书.xls")
sheet1 = book_excel.sheets()[0]
book_num =sheet1.nrows
#while(1):
#输入书名
bookname = input("请输入书名:")
find_flag=0
#查找
for i in range(book_num):
if(bookname == sheet1.cell_value(i,0)):
if(int(sheet1.cell_value(i,4))>0):
find_flag=1
print("书名:",sheet1.cell_value(i,0))
print("作者:",sheet1.cell_value(i,1))
print("位置:",sheet1.cell_value(i,3))
print("库存(本):",sheet1.cell_value(i,4))
return
if(find_flag==1):
print("查无此书。")
return
def borrow():
#打开excel
book_excel =xlrd.open_workbook("图书.xls")
sheet1 = book_excel.sheets()[0]
book_num = sheet1.nrows
row0_len=5#5列
while(1):
#输入书名
bookname = input("请输入书名:")
if(bookname == 'q'):
return
#查找
for i in range(0,book_num):
if(bookname == sheet1.cell(i,0).value):
kucun=int(sheet1.cell_value(i,4))
if(kucun>0):
(old_data,nrows)=read_old_data(row0_len)#5列
book_excel_w = xlwt.Workbook("图书.xls")
sheet2 = book_excel_w.add_sheet("books",cell_overwrite_ok=True)
#写入旧数据:
for n in range(nrows):
for j in range(row0_len):
sheet2.write(n,j,old_data[(n*row0_len)+j])
print("借到了!")
sheet2.write(i,4,str(kucun-1))
print("剩余库存:",kucun-1)
book_excel_w.save("图书.xls")
break
return
def main_window():
while(1):
print("\n====图书管理系统====")
print("1.新书加入")
print("2.书籍查询")
print("3.图书借阅")
print("========4退出=======")
x= (input("请输入你的操作"))
print('\n')
if(x == '1'):
new_book()
elif(x=='2'):
search()
elif(x=='3'):
borrow()
elif(x=='4'):
break
else:
print("输入无效")
return
main_window()
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要给大家分享了python烟花详细的代码,文章主要以python烟花的代码展开全文,所以解说会比较少,代码较多。喜欢的小伙伴可以参考一下,希望对你有所帮助
这篇文章主要介绍了练习深度学习的一个小工程,代码简单明确,用来作为学习深度学习的练习很适合,对于有需要的朋友可以参考下,希望大家可以体验到深度学习带来的收获
这篇文章主要介绍了Python数据分析之 Pandas Dataframe条件筛选遍历详情,查询Pandas Dataframe数据时,经常会筛选出符合条件的数据,关于其使用方式,需要的小伙伴可以参考一下下面文章内容
前几天,在写一个与差分隐私相关的简单程序时,我发现了一些奇怪的东西:相对于其他的随机数生成函数,Python的random.randint()函数感觉很慢。 由于 randint() 是 Python 中最为常用的生成随机整数的API,因此我决定深入挖掘其实现机制以了解其运行效率较低的原因。本文深入探讨了 random 模块的实现,并讨论了一些更为快速的生成伪随机整数的替代方法。
Django是基于MTV模式的框架,需要配合url控制器(路径分发)使用,本文重点给大家介绍Django MTV模式详解,需要的朋友参考下吧
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008