# 定义图书信息库 library = [{"bookname": "理想国", "author": "柏拉图", "peice": 40, "number": 8}, {"bookname": "大教学论", "author": "夸美纽斯", "peice": 50, "number": 7}, {"bookname": "普通教育学", "author": "赫尔巴特", "peice": 45, "number": 6}, {"bookname": "爱弥儿", "author": "卢梭", "peice": 55, "number": 3}, {"bookname": "教育论", "author": "斯宾塞", "peice": 35, "number": 5}] def main(): while True: # 主界面搭建 print("欢迎进入图书管理系统") option = login(3) if option: option = input("请选择您需要的操作") if option == "1": print("借书") borrow_book() print("已返回主界面") continue elif option == "2": print("还书") return_book() continue elif option == "3": print("查询(书名/作者)") locate_book() print("已返回主界面") continue elif option == "4": print("查看所有") look_all() print("已返回主界面") continue elif option == "5": print("退出") break else: print("输入错误,请重新输入") continue else: print("没有密码和学号,无法进入图书管理系统") break # 进入 def login(n): count = 0 while True: init_account = "22031266" init_password = "666666" count += 1 if count <= n: account = input("请输入学号:") password = input("请输入密码:") if account == init_account and password == init_password: print("登陆成功") return True else: print("密码或账号错误请重新登陆") else: print("输入次数过多,强制退回主界面") return False # 借书 def borrow_book(): while True: bookname = input("请输入借书的书名") for x in library: if x["bookname"] == bookname: number = int(x["number"]) # 判断该书的数量,若有库存则进行借阅 if number > 0: # 一次借一本 number -= 1 x["number"] = str(number) print("借书成功") break else: print(f"{bookname}的数量为{x["number"]}") break else: continue else: print("没有此书") # 选择是否继续进行借阅 option = input("是否继续借书") if option == "y": continue else: print("exit") break # 还书 def return_book(): while True: bookname = input("请输入还书的书名") for x in library: if x["bookname"] == bookname: number = int(x["number"]) number += 1 x["number"] = str(number) print("还书成功") break else: continue else: print("没有此书") option = input("是否继续还书") if option == "y": continue else: print("exit") break # 查看书 def locate_book(): while True: # 按照书名或作者名进行查找 in_infos = input("请输入书名|作者") for in_info in library: if in_info["bookname"] == in_infos or in_info["author"] == in_infos: print("查找成功,详细信息如下:") print(in_info) break else: print("没有找到相关信息") option = input("是否继续查找") if option == "y": continue else: break # 查看所有 def look_all(): for x in library: print(x) if __name__ == '__main__': main()
09-26
981
09-23
403