使用Python语言完成图书管理功能的开发,要求该功能至少包括:输出图书管理主菜单、添加图书信息、删除图书信息、修改图书信息、显示所有图书信息。要求将图书信息存储到book.csv文件中
时间: 2023-12-04 19:05:39 浏览: 96
好的,我来为您提供一个简单的Python程序,实现图书管理的基本功能。
首先,我们需要安装pandas库和csv库,以便读取和写入CSV文件。您可以使用以下命令安装这两个库:
```
pip install pandas
pip install csv
```
接下来,我们来编写Python代码:
```python
import pandas as pd
import csv
class Book:
def __init__(self, title, author, publisher, publication_date):
self.title = title
self.author = author
self.publisher = publisher
self.publication_date = publication_date
def __str__(self):
return f"{self.title}, {self.author}, {self.publisher}, {self.publication_date}"
class Library:
def __init__(self):
self.books = pd.read_csv("book.csv")
def display_menu(self):
print("\n图书管理系统菜单")
print("1. 添加图书信息")
print("2. 删除图书信息")
print("3. 修改图书信息")
print("4. 显示所有图书信息")
print("0. 退出程序")
def add_book(self):
title = input("请输入图书名称:")
author = input("请输入作者名称:")
publisher = input("请输入出版社名称:")
publication_date = input("请输入出版日期(格式:YYYY-MM-DD):")
new_book = Book(title, author, publisher, publication_date)
self.books = self.books.append({"title": new_book.title, "author": new_book.author, "publisher": new_book.publisher, "publication_date": new_book.publication_date}, ignore_index=True)
self.books.to_csv("book.csv", index=False)
def delete_book(self):
title = input("请输入要删除的图书名称:")
self.books = self.books[self.books.title != title]
self.books.to_csv("book.csv", index=False)
def modify_book(self):
title = input("请输入要修改的图书名称:")
book = self.books[self.books.title == title]
if book.empty:
print("该图书不存在!")
else:
new_title = input("请输入新的图书名称:")
new_author = input("请输入新的作者名称:")
new_publisher = input("请输入新的出版社名称:")
new_publication_date = input("请输入新的出版日期(格式:YYYY-MM-DD):")
self.books.loc[self.books.title == title] = [new_title, new_author, new_publisher, new_publication_date]
self.books.to_csv("book.csv", index=False)
def display_books(self):
print("\n所有图书信息如下:")
print(self.books)
def run(self):
while True:
self.display_menu()
choice = input("请输入您的选择:")
if choice == "1":
self.add_book()
elif choice == "2":
self.delete_book()
elif choice == "3":
self.modify_book()
elif choice == "4":
self.display_books()
elif choice == "0":
print("感谢使用图书管理系统,再见!")
break
else:
print("输入有误,请重新输入!")
if __name__ == "__main__":
library = Library()
library.run()
```
在这个程序中,我们定义了一个Book类来表示每本图书,其中包含书名、作者、出版社和出版日期等信息。我们还定义了一个Library类来管理所有的图书。在Library类中,我们使用pandas库来读取和写入CSV文件,将所有图书信息存储在book.csv文件中。我们还实现了添加、删除、修改和显示所有图书信息的功能,并在主函数中通过一个循环来调用这些功能。
当您运行这个程序时,它会显示一个菜单,让您选择要执行的操作。例如,如果您选择添加图书信息,程序会要求您输入图书的各项信息,并将新的图书信息添加到CSV文件中。如果您选择显示所有图书信息,程序会将CSV文件中的所有图书信息打印出来。
希望这个程序对您有所帮助!
阅读全文