当前位置:   article > 正文

Python实现图书管理系统_python做一个图书馆系统

python做一个图书馆系统

一.主函数

  1. #主函数
  2. while True:
  3. menu()
  4. operate = int(input("请输入数字进行操作:0-5进行操作:"))#input函数所输入的结果是一个字符串类型于是需要通过类型转换
  5. #通过判断得出的所要执行的操作
  6. if operate==1:
  7. Show_info()
  8. elif operate==2:
  9. add_info()
  10. elif operate==3:
  11. delete()
  12. elif operate==4:
  13. search()
  14. elif operate==5:
  15. modify()
  16. elif operate==0:
  17. print("退出程序,感谢您的使用!")
  18. break
  19. else:
  20. print("输入无效!")

先实习一个无限循环,为了能够对其中的函数进行调用。通过输入对应的的数字来调用对应的方法。如果不对输入的数字进行强制转化,判断语句的数字要加引号。接下来是各个方法的撰写。

二.菜单

  1. #菜单页面设计
  2. def menu():
  3. print('*'*16+' 图书管理系统 '+'*'*16)
  4. print('\n'*2)
  5. print(' '+'*'*10+'1. 显示图书信息'+'*'*10)
  6. print('\n'*2)
  7. print(' '+'*'*10+'2. 添加图书信息'+'*'*10)
  8. print('\n'*2)
  9. print(' '+'*'*10+'3. 删除图书信息'+'*'*10)
  10. print('\n'*2)
  11. print(' '+'*'*10+'4. 查找图书信息'+'*'*10)
  12. print('\n'*2)
  13. print(' '+'*'*10+'5. 修改图书信息'+'*'*10)
  14. print('\n'*2)
  15. print(' '+'*'*10+'0. 退出 '+'*'*10)
  16. print('\n'*2)

首先是“菜单”,为了让用户能够更加直观的看出具体的数字对应的使用功能,我们就需要为用户提供一个菜单。

三.显示图书信息

  1. def Show_info():
  2. if len(Book_info)==0:
  3. print("温馨提示:")
  4. print("系统无信息,请添加!")
  5. else:
  6. print('*'*40+"图书信息表"+'*'*40)
  7. for book_name,info in Book_info.items():
  8. print(f"{book_name}信息如下:")
  9. for row,re_info in info.items():
  10. print("{}:{}".format(row,re_info))
  11. print('|')
  12. print('-'*50)

四.添加图书信息

  1. def add_info():
  2. '''添加书籍函数'''
  3. info={}
  4. new_book=input("请添加书名:\n")
  5. if new_book not in Book_info:
  6. #通过“异常”处理提高编程的健壮性
  7. try:
  8. No=int(input("请添加图书的编号:\n"))
  9. price=float(input("请添加图书的价格:\n"))
  10. year=int(input("请添加图书的出版年份:\n"))
  11. ty=input("请添加图书的类型:\n")
  12. author=input("请添加图书的作者:\n")
  13. info['No']=No
  14. info['year']=year
  15. info['price']=price
  16. info['type']=ty
  17. info['author']=author
  18. Book_info[new_book]=info
  19. print("信息添加成功!")
  20. except ValueError:
  21. print("输入有误!")
  22. else:
  23. print("该图书信息已存在!")

五.删除图书信息

  1. def delete():
  2. '''删除书籍函数'''
  3. if len(Book_info)==0:
  4. print("系统无信息,请添加!")
  5. else:
  6. del_book=input("请输入要删除图书:\n")
  7. if del_book in Book_info:
  8. del Book_info[del_book]
  9. print("删除成功!")
  10. else:
  11. print("该图书信息不存在!\n删除失败!")

六.查找图书信息

  1. def search():
  2. '''由于个人设计的字典嵌套类型导致(图书书名作为键值)于是查找图书信息时只通过能过图书的书名遍历'''
  3. if len(Book_info)==0:
  4. print("系统无信息,请添加!")
  5. else:
  6. name=input("请输入要所要查找的书籍名:\n")
  7. for book_name,info in Book_info.items(): #先通过外层字典的遍历查找匹配到要查找的图书信息
  8. if name==book_name:
  9. print("{}的信息如下:".format(book_name))
  10. print('-'*50)
  11. for row,re_info in info.items():
  12. print("{}'s {}:{}".format(book_name,row,re_info))
  13. break
  14. else:
  15. print("该图书不存在!")
  16. print('-'*50)

七.修改图书信息

  1. def modify():
  2. '''此函数功能可更改书籍信息(书籍编号、价格、出版年份、类型)'''
  3. if len(Book_info)==0:
  4. print("系统无信息,请添加!")
  5. else:
  6. name=input("请输入要更改的信息的图书书名:\n")
  7. if name in Book_info.keys():
  8. while True:
  9. #修改菜单:提供多种数据的修改
  10. menu2()
  11. oper=int(input("请输入要修改的信息项:"))
  12. if oper==1:
  13. new_no=int(input("更改后的书籍编号为:\n"))
  14. Book_info[name]['No']=new_no
  15. print("修改书籍编号成功!")
  16. elif oper==2:
  17. new_price=float(input("更改后的价格为:\n"))
  18. Book_info[name]['price']=new_price
  19. print("修改价格出版年份成功!")
  20. elif oper==3:
  21. new_year=int(input("更改后的出版年份为:\n"))
  22. Book_info[name]['year']=new_year
  23. print("修改出版年份成功!")
  24. elif oper==4:
  25. new_type=input("更改后的类型为:\n")
  26. Book_info[name]['type']=new_type
  27. print("修改类型成功!")
  28. elif oper==5:
  29. new_author=input("更改后的作者为:\n")
  30. Book_info[name]['author']=new_author
  31. print("修改作者成功!")
  32. else:
  33. print("退出修改界面!")
  34. break
  35. else:
  36. print("该图书不存在!")
  1. #修改菜单设计
  2. def menu2():
  3. print("请输入要更改的内容:\n")
  4. print('\n')
  5. print('*'*10+'1.更改书籍编号 '+'*'*7+'\n')
  6. print('\n')
  7. print('*'*10+'2. 更改价格 '+'*'*10+'\n')
  8. print('\n')
  9. print('*'*10+'3.更改出版年份 '+'*'*7+'\n')
  10. print('\n')
  11. print('*'*10+'4. 更改类型 '+'*'*10+'\n')
  12. print('\n')
  13. print('*'*10+'5. 更改作者 '+'*'*10+'\n')
  14. print('\n')
  15. print('*'*10+'0. 退出修改界面 '+'*'*10+'\n')

在修改功能里头,我们可以做一个小菜单,让用户选择要更改的信息项。

八.总结

当然你也可以用嵌套列表来实现数据存储与删除,当然有了items()方法,字典相对于列表来说简介有效许多。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/365636
推荐阅读
相关标签
  

闽ICP备14008679号