您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
图书管理系统是一个常见的应用场景,用于管理图书馆或书店的书籍信息、借阅记录、用户信息等。本文将介绍如何使用Python实现一个简单的图书管理系统,涵盖书籍的添加、删除、查询、借阅和归还等功能。
import json
from datetime import datetime
class Book:
def __init__(self, title, author, isbn, publish_date, stock):
self.title = title
self.author = author
self.isbn = isbn
self.publish_date = publish_date
self.stock = stock
def __str__(self):
return f"Title: {self.title}, Author: {self.author}, ISBN: {self.isbn}, Publish Date: {self.publish_date}, Stock: {self.stock}"
class User:
def __init__(self, user_id, name, contact):
self.user_id = user_id
self.name = name
self.contact = contact
def __str__(self):
return f"User ID: {self.user_id}, Name: {self.name}, Contact: {self.contact}"
class LibraryManagementSystem:
def __init__(self):
self.books = []
self.users = []
self.borrow_records = []
def add_book(self, book):
self.books.append(book)
def remove_book(self, isbn):
self.books = [book for book in self.books if book.isbn != isbn]
def search_book(self, isbn):
for book in self.books:
if book.isbn == isbn:
return book
return None
def add_user(self, user):
self.users.append(user)
def remove_user(self, user_id):
self.users = [user for user in self.users if user.user_id != user_id]
def search_user(self, user_id):
for user in self.users:
if user.user_id == user_id:
return user
return None
def borrow_book(self, user_id, isbn):
book = self.search_book(isbn)
user = self.search_user(user_id)
if book and user and book.stock > 0:
book.stock -= 1
self.borrow_records.append({
"user_id": user_id,
"isbn": isbn,
"borrow_date": datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
"return_date": None
})
return True
return False
def return_book(self, user_id, isbn):
for record in self.borrow_records:
if record["user_id"] == user_id and record["isbn"] == isbn and record["return_date"] is None:
record["return_date"] = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
book = self.search_book(isbn)
if book:
book.stock += 1
return True
return False
def save_data(self, filename):
data = {
"books": [vars(book) for book in self.books],
"users": [vars(user) for user in self.users],
"borrow_records": self.borrow_records
}
with open(filename, 'w') as f:
json.dump(data, f)
def load_data(self, filename):
with open(filename, 'r') as f:
data = json.load(f)
self.books = [Book(**book) for book in data["books"]]
self.users = [User(**user) for user in data["users"]]
self.borrow_records = data["borrow_records"]
def main():
lms = LibraryManagementSystem()
# 添加书籍
book1 = Book("Python Programming", "John Doe", "978-3-16-148410-0", "2021-01-01", 5)
book2 = Book("Data Structures", "Jane Smith", "978-1-23-456789-0", "2020-05-15", 3)
lms.add_book(book1)
lms.add_book(book2)
# 添加用户
user1 = User("001", "Alice", "alice@example.com")
user2 = User("002", "Bob", "bob@example.com")
lms.add_user(user1)
lms.add_user(user2)
# 借阅书籍
lms.borrow_book("001", "978-3-16-148410-0")
lms.borrow_book("002", "978-1-23-456789-0")
# 归还书籍
lms.return_book("001", "978-3-16-148410-0")
# 保存数据
lms.save_data("library_data.json")
# 加载数据
lms.load_data("library_data.json")
# 查询书籍
book = lms.search_book("978-3-16-148410-0")
if book:
print(book)
# 查询用户
user = lms.search_user("001")
if user:
print(user)
if __name__ == "__main__":
main()
本文介绍了如何使用Python实现一个简单的图书管理系统。通过定义书籍类、用户类和图书管理系统类,实现了书籍的添加、删除、查询、借阅和归还等功能。系统还支持将数据保存到文件中,并在需要时加载数据。这个系统可以进一步扩展,例如增加更多的功能、使用数据库存储数据、提供图形用户界面等。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。