python设计图书管理系统(课程设计大作业)

 

功能:1.显示所有在馆图书

         2.新建图书条目

         3.检索图书

         4.借书

         5.还书

代码:

class Book:

    def __init__(self, title, author, index, status ):

        self.title = title #书名

        self.author = author #作者

        self.index = index #索引号

        self.status = status # 图书状态

 

class Library:

    def __init__(self):

        self.books = []

 

    def display_books(self):

            print("在馆图书:")

            for book in self.books:

                print(f"书名:{book.title}\t作者:{book.author}\t索引号:{book.index}\t状态:{book.status}")

 

    def add_book(self,title, author, index, status ):

        new_book = Book(title, author, index, status )

        self.books.append(new_book)

 

 

    def search_by_index(self, index):

        for book in self.books:

            if book.index == index:

                return book

 

    def borrow_book(self, index):

        book = self.search_by_index(index)

        if book and book.status == "未借出":

            book.status = "已借出"

            print(f"{book.title} 借出成功")

        elif book and book.status == "已借出":

            print(f"抱歉!{book.title} 已被借出")

        else:

            print("图书不存在")

 

    def return_book(self, index):

        book = self.search_by_index(index)

        if book and book.status == "已借出":

            book.status = "未借出"

            print(f"{book.title} 归还成功")

        elif book and book.status == "未借出":

            print(f"{book.title} 未被借出")

        else:

            print("图书不存在")

 

# 创建图书馆对象

library = Library()

 

# 添加图书

library.add_book("《红楼梦》", "曹雪芹", "001", "未借出")

library.add_book("《西游记》", "吴承恩", "002", "未借出")

library.add_book("《三国演义》", "罗贯中", "003", "未借出")

library.add_book("《水浒传》", "施耐庵", "004", "未借出")

 

#菜单

def show_menu():

    print("*" * 50)

    print("欢迎使用图书管理系统")

    print("1.在馆图书目录")

    print("2.新建图书条目")

    print("3.检索图书")

    print("4.借书")

    print("5.还书")

    print("6.退出系统")

 

#显示所有在馆图书

def show_all(library):

    print("在馆图书目录")

    library.display_books()

 

def add_book(library):

    print("新建图书条目")

    library.add_book(input("请输入书名: "), input("请输入作者: "), input("请输入索引号: "),"未借出")

 

def find(library):

    print("检索图书")

    number = input("请输入索引号: ")

    book = library.search_by_index(number)

    if book:

        print(f"{book.title}\t{book.author}\t{book.index}\t{book.status}")

    else:

        print("未找到该图书")

 

 

def borrow(library):

    print("借书")

    number = input("请输入索引号: ")

    library.borrow_book(number)

 

 

def return_book(library):

    print("还书")

    number = input("请输入索引号: ")

    library.return_book(number)

 

 

 

while True:

    show_menu()

    choice = input("请输入操作编号:")

    if choice == "1":

        show_all(library)

    elif choice == "2":

        add_book(library)

    elif choice == "3":

        find(library)

    elif choice == "4":

        borrow(library)

    elif choice == "5":

        return_book(library)

    elif choice == "6":

        print("欢迎下次使用......")

        exit()

    else:print("输入错误!请重新输入:")

 

运行结果:

36d415c3e5f04407990b1fbe0866bfaa.png

 8e8235e2eaff48b2a77a837377f8bab3.png

fc1e2cf2b1b54a71b813cf96850632f7.png

这段代码定义了两个类,Book 和 Library。Book 类用于表示图书对象,包括书名、作者、索引号和状态;Library 类用于管理图书馆的图书,包括添加图书、显示图书列表、根据索引号搜索图书、借书和还书等操作。接着创建了一个 Library 对象 library,并向其中添加了几本书籍。

后面的部分是一个简单的命令行菜单,通过用户输入不同的操作编号来执行对应的操作,包括显示在馆图书目录、新建图书条目、检索图书、借书、还书以及退出系统。根据用户的选择,调用相应的函数进行处理。

整体来说,这段代码实现了一个简单的图书管理系统,用户可以通过命令行菜单来执行图书管理相关的操作。

 

 

 

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值