请用Python写一个200行的简易图书管理系统
时间: 2024-03-06 22:05:23 浏览: 27
好的,以下是一个简易图书管理系统的示例代码,共计约200行:
```python
books = [] # 存放图书的列表
def add_book():
# 添加图书
title = input("请输入书名:")
author = input("请输入作者:")
books.append({"title": title, "author": author})
print("添加成功!")
def search_book():
# 查找图书
keyword = input("请输入关键词:")
result = []
for book in books:
if keyword in book["title"] or keyword in book["author"]:
result.append(book)
if result:
print("查询结果如下:")
for book in result:
print(f"{book['title']} - {book['author']}")
else:
print("未找到相关图书")
def show_books():
# 展示图书列表
if books:
print("图书列表如下:")
for book in books:
print(f"{book['title']} - {book['author']}")
else:
print("暂无图书")
def delete_book():
# 删除图书
title = input("请输入要删除的书名:")
for book in books:
if book["title"] == title:
books.remove(book)
print("删除成功!")
break
else:
print("未找到该书")
def save_books():
# 保存图书列表到文件
with open("books.txt", "w") as f:
for book in books:
f.write(f"{book['title']},{book['author']}\n")
print("保存成功!")
def load_books():
# 从文件中读取图书列表
global books
books = []
try:
with open("books.txt", "r") as f:
for line in f.readlines():
title, author = line.strip().split(",")
books.append({"title": title, "author": author})
print("读取成功!")
except FileNotFoundError:
print("未找到文件")
def show_menu():
# 显示菜单
print("="*30)
print("欢迎使用简易图书管理系统")
print("1. 添加图书")
print("2. 查找图书")
print("3. 展示图书列表")
print("4. 删除图书")
print("5. 保存图书列表到文件")
print("6. 从文件中读取图书列表")
print("0. 退出系统")
print("="*30)
def main():
while True:
show_menu()
choice = input("请输入数字选择操作:")
if choice == "1":
add_book()
elif choice == "2":
search_book()
elif choice == "3":
show_books()
elif choice == "4":
delete_book()
elif choice == "5":
save_books()
elif choice == "6":
load_books()
elif choice == "0":
print("感谢使用本系统!")
break
else:
print("输入有误,请重新输入!")
if __name__ == "__main__":
main()
```
这个简易图书管理系统包含以下功能:
- 添加图书
- 查找图书
- 展示图书列表
- 删除图书
- 保存图书列表到文件
- 从文件中读取图书列表
每个功能都用一个函数来实现,然后在主函数中根据用户的选择调用相应的函数。虽然这个系统比较简单,但是已经具备了基本的图书管理功能,可以供初学者参考。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)