利用Python建立图书馆系统
题目描述设计一个简单的图书借阅管理系统。系统初始包含若干本图书每本图书的信息包括书号字符串书名字符串作者字符串库存数量整数另外系统需记录借阅记录列表存储每笔借阅的字典。程序通过菜单实现以下功能查看所有图书以表格形式显示所有图书的书号、书名、作者、库存。借书输入书号和借阅数量如果库存足够则减少库存并添加一条借阅记录包含书号、书名、借阅数量、借阅日期可简化为当天日期字符串。如果库存不足提示失败。还书输入书号和归还数量增加对应图书的库存并从借阅记录中删除相应的借阅按先进先出原则或简单按书号匹配。若归还数量大于该书的借出总量则提示错误。查询某本书的借阅情况输入书号显示该书当前被借出的总数量和所有借阅记录的详情借阅数量、借阅日期。退出系统结束程序。要求数据初始化至少预置 3 本图书和若干条借阅记录可手动在代码中定义。菜单循环用户输入 1~5 选择功能。对用户输入做简单的有效性检查如书号不存在、数量非法等。参考代码books { B001: {name: Python编程, author: 张三, stock: 5}, B002: {name: 数据结构, author: 李四, stock: 3}, B003: {name: 算法导论, author: 王五, stock: 0} } # 初始化借阅记录 borrow_records [ {book_id: B001, book_name: Python编程, quantity: 1, date: 2026-03-25}, {book_id: B002, book_name: 数据结构, quantity: 2, date: 2026-03-26} ] str1 图书借阅管理系统 1.查看所有图书 2.借书 3.还书 4.查询某本书借阅情况 5.退出系统 while True: print(str1) choose input(请选择功能(1-5)) if choose 1: print(查看所有图书:) for key,value in books.items(): print(f图书的编号是{key},图书的名称是{value[name]},图书的作者是{value[author]},剩余的数量{value[stock]}) elif choose 2: book_id input(请输入书号:) if book_id in books: book_numint(input(请输入借阅数量:)) if book_num books[book_id][stock]: books[book_id][stock]-book_num dict_insert { book_id:book_id, book_name:books[book_id][name], quantity:book_num, date:2026-4-7 } borrow_records.append(dict_insert) print(f借阅图书成功目前的借阅信息表{borrow_records},目前的图书表{books}) else: print(f图书{book_id}当前的库存是{books[book_id][stock]},库存不足借阅失败) else: print(图书不存在!) elif choose 3: book_id input(请输要归还书籍号:) if book_id not in books: print(该书籍不存在于该图书系统中) continue jieshu_num 0 for i in borrow_records: if i[book_id]book_id: jieshu_num i[quantity] if jieshu_num 0: print(该图书暂无借阅记录。) continue try: book_num int(input(请输入归还数量:)) except ValueError: print(请输入有效数字:) continue if book_num 0: print(归还数量必须大于0!) continue if book_num jieshu_num: print(归还数量大于借出总量归还失败!) else: books[book_id][stock] book_num shengyu book_num new_records [] for i in borrow_records: if i[book_id] book_id and shengyu 0: if i[quantity] shengyu: shengyu - i[quantity] else: i[quantity] - shengyu shengyu 0 new_records.append(i) else: new_records.append(i) borrow_records new_records print(归还成功) elif choose 4: book_idinput(输入查看书籍号:) sum_count 0 for i in borrow_records: if i[book_id]book_id: sum_count i[quantity] print(i) print(f图书{book_id}总计借阅{sum_count}) elif choose5: print(退出系统!) break else: print(输入选择错误请重新输入)运行结果
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2498866.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!