基于面向对象程序设计思想,构建Python 程序,完成以下功能:

基于面向对象程序设计思想,构建Python 程序,完成以下功能:

  1. 定义书籍类Book,包括书籍名称、书籍价格和书籍状态(是否借出)。
    2.定义书籍管理类BookManager,包括构造方法__init__()、菜单方法Menu()、查询书籍 方法show_all_books()、添加书籍方法add_books()、借出书籍方法lend_books()和检 查书籍是否存在方法check_books() 。
    3、书籍存储在书籍管理类BookManager 的书籍列表books 中
class BOOK(object):
    def __init__(self,name,price,status):
        self.name = name
        self.price = price
        self.status = status

    def __str__(self):
        if self.status == 1:
            stats = '未借出'
        elif self.status == 0:
            stats = '已借出'
        else:
            stats = '状态异常'
        return self.name, self.price, stats
class BookManager(object):
    books = []
    def start(self):
        self.books.append(('python', 20, 1))
        self.books.append(('c', 30, 1))
        self.books.append(('java', 40, 0))
    def Menu(self):
        self.start()
        while True:
            print("这是主菜单,请输入想要执行的功能")
            print("1.查询所有书籍。2.添加书籍。3.借出书籍。4.检查书籍是否存在")
            choice = input("请输入")
            if int(choice) == 1:
                self.show_all_books()
            elif int(choice) == 2:
                self.add_books()
            elif int(choice) == 3:
                self.lend_books()
            elif int(choice) == 4:
                self.check_books()
            else:
                print("输入有误请重新输入")
    def show_all_books(self):
        print(self.books)
    def add_books(self):
        name = input("请输入书籍名")
        price = input("请输入书籍价格")
        staus = input("输入书籍状态,1未借出,0已借出")
        self.books.append((name,price,staus))
    def lend_books(self):
        name = input("请输入你想借阅的书籍")
        for i in range(len(self.books)):
            if name == self.books[i][0]:
                w = BOOK(self.books[i][0],self.books[i][1],self.books[i][2])
                print("你借阅的图书:"+self.books[i][0])
                r = w.__str__()
                print(r)
                if self.books[i][2] == 1:
                    s = input("是否借阅yes/no")
                    if s == "yes":
                        a = self.books[i][2]
                        a = 0
                    elif s == "no":
                        print("取消借阅")
                elif self.books[i][2] == 0:
                    print("你所选择的书已被借阅,请重新选择")
    def check_books(self):
        name = input("请输入你想要检查的书籍")
        s = 0
        for i in range(len(self.books)):
            if name == self.books[i][0]:
                print("该书籍存在,信息为",self.books[i])
                s = 1
                break
        if s == 1:
            pass
        elif s == 0:
            print("不存该书籍欸")


manager = BookManager()
manager.Menu()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值