user = [['aaa', '123456'], ['bbb', '123456789'],['圖書管理員','55555'] ]#賬號密碼
i = 0#全局變量
f = 0
class Book(object): # 定義一個書類
def __init__(self, name, author, status, bookindex):#書名,作者,有沒有借出,id
self.name = name
self.author = author
self.status = status
self.bookindex = bookindex
def __str__(self):#判斷書是否借出
if self.status == 1:
stats = '未借出'
elif self.status == 0:
stats = '已借出'
else:
stats = '狀態異常'
return '書名: 《%s》 作者: %s 狀態: <%s> 位置: %s' \
% (self.name, self.author, stats, self.bookindex)
class BookManage(object):#圖書館系統
books = []#定義一個書的列表
def start(self):
# 添加圖書
self.books.append(Book('吞噬星空', '番茄', 1, 'ISO9001'))
self.books.append(Book('神印王座', '唐家三少', 1, 'NFS8102'))
self.books.append(Book('深空彼岸', '辰東', 1, 'PKA7844'))
# 0:借出 1:存在
def Menu(self):#系統菜單
self.start()
while True:
print("""
圖書管理系統
1.查詢圖書
2.借閱圖書
3.歸還圖書
4.退出系統
""")
choice = input('請選擇:')
if choice == '1':
self.showAllBook() # 調用顯示所有書籍的函數
elif choice == '2':
self.borrowBook() # 調用借書的函數
elif choice == '3':
self.returnBook() # 調用還書的函數
elif choice == '4':
print('歡迎下次使用...')
exit()
else:
print('請輸入正確選擇')
continue
def showAllBook(self):#顯示所有書籍的函數
for book in self.books:
print(book)
def borrowBook(self):#借書的函數
name = input('借閱圖書名稱: ')
ret = self.checkBook(name)
print(ret)
# 判斷書是否存在,如果存在,判斷書是否已借出,如果沒有借出,借閱並將其狀態改為0
if ret != None:
if ret.status == 0:
print('書籍《%s》已經借出' % name)
else:
ret.status = 0
print('書籍《%s》借閱成功' % name)
else:
print('書籍《%s》不存在' % name)
def returnBook(self):#還書的函數
name = input('歸還圖書名稱:')
ret = self.checkBook(name)
if ret != None:
if ret.status == 0:
ret.status = 1
print('書籍《%s》歸還成功' % name)
print(ret)
else:
print('書籍《%s》未借出' % name)
else:
print('書籍《%s》不存在' % name)
class BookManage2(BookManage):#圖書管理員的圖書管理系統,繼承
books = []
def Menu(self):#開始菜單
self.start()
while True:
print("""
圖書管理系統
1.查詢圖書
2.增加圖書
3.借閱圖書
4.歸還圖書
5.退出系統
""")
choice = input('請選擇:')
if choice == '1':
self.showAllBook() # 調用顯示所有書籍的函數
elif choice == '2':
self.addBook() # 調用添加書籍的函數
elif choice == '3':
self.borrowBook() # 調用借書的函數
elif choice == '4':
self.returnBook() # 調用還書的函數
elif choice == '5':
print('歡迎下次使用...')
exit()
else:
print('請輸入正確選擇')
continue
def addBook(self):#增加書籍
name = input('圖書名稱:')
self.books.append(Book(name, input('作者:'), 1, input('存儲位置:')))
print('圖書《%s》增加成功' % name)
#下面的是主函數
print('-'*10, '歡迎進入圖書管理系統', '-'*10)
print('請在下方選擇您要進行的操作')
while i < 4:
xuan = input('登錄賬號請選擇:1\n輸入選擇:')
if xuan == "1":
l = 0
while True:
cc = input('請選擇您要進行的操作類型:\n登錄普通賬號:1\t登錄管理員賬號:2\t返回上一層:3\n:')
if cc == "1":
fu = input('請輸入您的賬號:')
ru = input('請輸入您的密碼:')
if [fu, ru] in user:
print('歡迎{}進入圖書管理系統'.format(fu))
manager = BookManage() # 類的實例化
manager.Menu()
else:
print('賬號密碼錯誤,請重新輸入您的賬號密碼')
elif cc == "2":
jia = input('請輸入管理員的密碼:')
if ['圖書管理員', jia] in user:
print('歡迎圖書管理員進入圖書管理系統')
print(10*'*', "管理員您好,清選擇你要進行的操作", "*"*10)
manager = BookManage2() # 類的實例化
manager.Menu()
else:
print('管理員密碼錯誤,請重新輸入管理員密碼')
elif cc == "3":
break
else:
print("輸入錯誤請按照要求輸入")
else:
print("輸入錯誤請重新輸入")