python图书管理系统

python图书管理系统,第1张

‘’’
任务:编写程序实现一个图书管理系统支持图书管理员对图书馆中书籍各种状态
(新进书、销毁书、借阅归还图书、存放位置)进行管理

假设:1)假设每本书只进一本,书名不同;
2)假设系统初始图书馆有三本书放在同一个架子(作者信息忽略),
‘python’,’java’,C++’

‘’’

class Book:
#多个属性,存储书的信息:name,loc,state 这些都是实例属性

def __init__(self,bookname,location):
    self.__name = bookname
    self.__loc = location  #loc:"shelf-1-1"
    self.__state = 0    #0表示未借出;1表示借出

#get和或set
def getname(self):
    return self.__name

def getloc(self):
    return self.__loc

def getstate(self):
    return self.__state
def setstate(self,state):
    self.__state = state

def __str__(self):
    if self.__state:
        return "图书《{}》已被借阅出去".format(self.__name)
    else:
        return "图书《{}》在 {} 架子上".format(self.__name,self.__loc)       

#定义图书管理员管理 *** 作类
class MngBook():
#管理图书,支持新进书、销毁书、借阅书、归还书四个 *** 作以及对应的图书信息维护

#初始化图书信息属性
__books = []  #存储所有书的实例
def __init__(self):
    #系统启动
    print("系统启动中")

    book1 = Book("python","shelf-1-1")
    self.__books.append(book1)
    self.__books.append(Book("Java","shelf-1-1"))
    self.__books.append(Book("C++","shelf-1-1"))

    #打印验证初始化正确
    for i in self.__books:
        print(i)
    print("系统启动成功!")
    
def borrowbook(self):
    #借阅图书
    #打印所有书信息
    for i in self.__books:
        print(i)
    #用户输入书名
    name = input("请输入借阅书名:")
    
    for i in self.__books:
        if i.getname() == name:
            #表示找到图书
            #判断图书是否可借给当前读者
            if i.getstate():
                print("图书已经被借出去,无法再借!")
            else:
                #修改借阅状态
                i.setstate(1)
                print("借阅成功!")
            break                
        else:  #这个分支是可以被删除的
            pass
    else:
        #表示没有这本书
        print("系统中没有这本书!")
    
def main_menu(self):
    
    while True:
        print("""
             ********功能菜单项*********
             1.新进书
             2.销毁书
             3.借阅书
             4.归还书
             5.退出系统            
        """)
        
        select_no = input("请输入你的 *** 作选项:")
        
        if select_no == "1":
            pass
        elif select_no == "2":
            pass
        elif select_no == "3":
            self.borrowbook()
        elif select_no == "4":
            pass
        elif select_no == "5":
            print("退出系统")
            break
        else:
            print("输入错误,请重新选择!")

#主流程
MngBook().main_menu()

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/922819.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存