library = [{"bookname": "西游记", "author": "施耐庵", "price": 34, "stock": 5},
{"bookname": "悲惨世界", "author": "雨果", "price": 44, "stock": 5},
{"bookname": "巴黎圣母院", "author": "雨果", "price": 55, "stock": 5},
{"bookname": "西游记", "author": "司汤达", "price": 50, "stock": 5},
{"bookname": "战争与和平", "author": "托尔斯泰", "price": 66, "stock": 5},
{"bookname": "童年", "author": "高尔基", "price": 40, "stock": 5},
{"bookname": "呼啸山庄", "author": "勃朗特", "price": 54, "stock": 5},
{"bookname": "飘", "author": "米切尔", "price": 88, "stock": 5},
{"bookname": "荷马史诗", "author": "荷马", "price": 99, "stock": 5}]
def select_all_book():
"""
查询所有书籍
:return:
"""
for dict_select_library in library:
print(f"书籍名称:《{dict_select_library.get('bookname')}》".ljust(20) +
f"作者:{dict_select_library.get('author')}".ljust(20) +
f"价格:{dict_select_library.get('price')}".ljust(20) +
f"库存:{dict_select_library.get('stock')}")
def login():
"""
验证用户登入:
失败三次则退出程序
:return:
"""
for i in range(3):
user_name = input("用户名:")
user_password = input("密码:")
if user_name == 'admin' and user_password == '1234':
print("登入成功")
break
elif i == 2:
print("用户锁定")
exit()
else:
print("请检查用户名密码")
print(f"还剩余{3 - (i + 1)}机会")
def main_menu():
"""
主菜单:
用户展示页面
:return:
"""
global user_input
print("=======================欢迎您进入======================")
print("======================图书管理系统======================")
print(f"借书管理\t\t\t\t[请按 1]")
print(f"还书管理\t\t\t\t[请按 2]")
print(f"查询书籍(书名/作者)\t[请按 3]")
print(f"查看所有书籍\t\t\t[请按 4]")
print(f"退出系统\t\t\t\t[请按 5]")
user_input = int(input("请根据菜单进行选择:"))
def book_inquiry(library_select, user_select_one_book):
"""
通过查询作者/书名展示
:param library_select:
:param user_select_one_book:
:return:
"""
list_value_all = []
for dict_library_all in library_select:
list_value01 = []
for value01 in dict_library_all.values():
list_value01.append(value01)
for select_value in range(len(list_value01) - 1):
if user_select_one_book == list_value01[select_value]:
list_value_all.append(list_value01)
print(f"书籍名称:《{list_value01[0]}》".center(10) + f"作者:{list_value01[1]}".center(
10) + f"价格:{list_value01[2]}".center(10) + f"库存:{list_value01[3]}")
return list_value_all
def main():
"""
程序主方法
:return:
"""
login()
while True:
main_menu()
if user_input == 1:
user_select = input("请输入借书书名:")
# 查询书籍
book_inquiry_list = book_inquiry(library, user_select)
if len(book_inquiry_list) == 1:
for be in library:
if be['bookname'] == user_select:
be['stock'] -= 1
select_all_book()
print("借阅成功")
else:
flag = True
while flag:
user_admin = input("选择对应作者名字")
for be in library:
if be['bookname'] == user_select and be['author'] == user_admin:
k = int(input("请输入借阅书籍的数量"))
if k >= 1:
if (be['stock'] - k) >= 0:
be['stock'] -= k
print("借阅成功")
select_all_book()
flag = False
else:
print("超出数量")
else:
print("数量有误")
elif user_input == 2:
user_select = input("请输还书书名:")
book_inquiry_list = book_inquiry(library, user_select)
if len(book_inquiry_list) == 1:
for be in library:
if be['bookname'] == user_select:
be['stock'] += 1
select_all_book()
print("借阅成功")
else:
flag = True
while flag:
user_admin = input("选择对应作者名字")
for be in library:
if be['bookname'] == user_select and be['author'] == user_admin:
k = int(input("请输入归还书籍的数量"))
if k >= 1: # 判断库存剩余
be['stock'] += k
print("借阅成功")
select_all_book()
flag = False
else:
print("输入有误")
elif user_input == 3:
user_select = input("请输入查询书名:")
book_inquiry(library, user_select)
elif user_input == 4:
select_all_book()
elif user_input == 5:
print("感谢您的使用,欢迎下次光临!")
break
else:
print("您的输入有误请重新输入")
main()
新手写的图书管理系统(菜鸟Python)
最新推荐文章于 2024-10-16 13:32:49 发布
该代码实现了一个简单的图书管理系统,包括用户登录、查询书籍、借书和还书功能。用户需输入用户名和密码登录,登录成功后可按编号选择操作,如查询特定书名或作者的书籍信息,借书或还书等。系统会更新书籍的库存状态。
摘要由CSDN通过智能技术生成