图书管理系统代码与逻辑
写完这个你可能会体会到函数的作用:
import time
print("=" * 54)
print("-" * 20 + "图书管理系统V1.3" + "-" * 20)
print("=" * 54)
books = {'西游记': 5,
'新三国': 8,
"水浒传": 3,
"红楼梦": 2
}
# 学生借书容器
student_books = {}
while True:
time.sleep(1)
choice = input(
"""
请输入您要操作的功能:
1、查询书籍;
2、借书;
3、还书;
4、显示所有书籍;
5、退出系统
>>>>
"""
)
# 根据书名查询具体书籍
if choice=='1':
print("-" * 20 + "查询书籍" + "-" * 20)
username=input("请输入用户名:")
if username in student_books:
print("书名\t\t\t\数量")
for bookInfo in student_books[username].items():
print(bookInfo[0]+"\t\t\t"+str(bookInfo[1]))
else:
print("您并没有借过书")
# select_book=input("请输入您要查询的书名:")
# # 判断书库中是否存在该书
# if select_book in books:
# print("您要查询的书籍是:{}-----{}".format(select_book,books[select_book]))
# else:
# print("没有查询到您要的书籍.")
# 借书
elif choice=='2':
username=input("请输入用户名:")
if username in student_books: # 判断该用户是否存在于student_books中,就在原来的基础上添加新书
borrow_book = input("请输入您想要借的书的名字:")
# 判断库存中是否有你想要借阅的书籍
if borrow_book in books: # 如果书库中有这本书,我们判断书库中书的数量
if books[borrow_book]>=1:
if borrow_book in student_books[username]: # 如果借过,那就在原来这本书的基础上加1,借书成功;
# 库存数量减1
books[borrow_book] -= 1
# 借书容器中加1
student_books[username][borrow_book] += 1
print("借书成功1")
else: # 否则为该用户的书库添加一本新书
# 更改库存数量
books[borrow_book] -= 1
# 借书容器中添加新书
student_books[username][borrow_book] = 1
print("借书成功2")
else:
print("你要的书库存不足")
else:
print("书库中没有找到你想要的书")
else: # 该用户从来没有借过书,就创建一个新的用户字典,然后将这个用户放入其中
student_books[username]={}
borrow_book=input("请输入您想要借的书的名字:")
if borrow_book in books: # 查询到了要借的书
if books[borrow_book]>=1: # 可以进行借书
# 更改库存数量
books[borrow_book]-=1
# 更改借书容器
student_books[username][borrow_book]=1
print("借书成功3")
else:
print("您查找的书库存不足.")
else:
print("没有找到您要借阅的书籍")
# 还书
elif choice=='3':
username=input("请输入用户名:")
# 判断该用户是否借过书,如果借过书,打印多有还没归还的书籍;如果,没有借过书,打印一句话提醒用户
if username in student_books:
print("您暂时还没归还的书有:")
for book in student_books[username].items():
print(book[0]+"\t\t\t"+str(book[1]))
return_book=input("请输入您要归还的书名:")
if return_book in student_books[username]: # 如果该书在还未归还的书中,就去归还
if student_books[username][return_book]==1:
student_books[username].pop(return_book)
books[return_book]+=1
print("还书成功1")
else:
student_books[username][return_book]-=1
books[return_book] += 1
print("还书成功2")
if len(student_books[username])==0:
del student_books[username]
else: # 如果不在还没归还的书目中,提醒用户
print("您并没有借过这本书.")
else:
print("您还没有借过书.")
# 显示所有图书
elif choice=='4':
print("名称\t\t\t数量")
for key, value in books.items():
print("{}\t\t\t{}".format(key, value))
elif choice=='5':
# 退出系统
answer = input("您确定要退出系统吗?[y/n]")
if answer == 'y' or answer == 'Y':
print("正在退出系统,请稍后...")
time.sleep(1)
print("欢迎下次使用,谢谢!")
break
else:
print("没有您输入的操作,请重新输入:")